Title :
Merging Head and Tail Duplication for Convergent Hyperblock Formation
Author :
Maher, Bertrand A. ; Smith, Aaron ; Burger, Doug ; McKinley, Kathryn S.
Author_Institution :
Dept. of Comput. Sci., Texas Univ., Austin, TX
Abstract :
VLIW and EDGE (explicit data graph execution) architectures rely on compilers to form high-quality hyper-blocks for good performance. These compilers typically perform hyperblock formation, loop unrolling, and scalar optimizations in a fixed order. This approach limits the compiler´s ability to exploit or correct interactions among these phases. EDGE architectures exacerbate this problem by imposing structural constraints on hyperblocks, such as instruction count and instruction composition. This paper presents convergent hyperblock formation, which iteratively applies if-conversion, peeling, unrolling, and scalar optimizations until converging on hyperblocks that are as close as possible to the structural constraints. To perform peeling and unrolling, convergent hyperblock formation generalizes tail duplication, which removes side entrances to acyclic traces, to remove back edges into cyclic traces using head duplication. Simulation results for an EDGE architecture show that convergent hyperblock formation improves code quality over discrete-phase approaches with heuristics for VLIW and EDGE. This algorithm offers a solution to hyperblock phase ordering problems and can be configured to implement a wide range of policies
Keywords :
computer architecture; data flow graphs; program compilers; convergent hyperblock formation; discrete-phase approach; explicit data graph execution architecture; hyperblock phase ordering problem; scalar optimization; Constraint optimization; Hardware; High performance computing; Merging; Microarchitecture; Optimizing compilers; Parallel processing; Runtime; Tail; VLIW;
Conference_Titel :
Microarchitecture, 2006. MICRO-39. 39th Annual IEEE/ACM International Symposium on
Conference_Location :
Orlando, FL
Print_ISBN :
0-7695-2732-9
DOI :
10.1109/MICRO.2006.34