Title :
Register allocation for predicated code
Author :
Eichenberger, Alexandre E. ; Davidson, Edward S.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Michigan Univ., Ann Arbor, MI, USA
fDate :
29 Nov-1 Dec 1995
Abstract :
Current compilers for VLIW and superscalar machines increase the instruction level parallelism of an application by merging several basic blocks into an enlarged predicated block, resulting in higher performance code but increased register requirements. We present a framework that computes precisely the interferences among virtual registers in the presence of predicated operations. Graph-coloring biased register allocators can directly use the resulting interference graph. For interval-graph based register allocators, and others, we propose a technique that reduces the register requirements by allowing non-interfering virtual registers that overlap in time to share a common virtual register. Preliminary measurements on a benchmark of loops from the Perfect Club, SPEC-89, and the Livermore Fortran Kernels indicate the effectiveness of this technique
Keywords :
instruction sets; merging; parallel architectures; program compilers; resource allocation; Livermore Fortran Kernels; Perfect Club; SPEC-89; VLIW machines; compilers; graph-coloring biased register allocators; instruction level parallelism; predicated block; predicated code; register allocation; register requirements; superscalar machines; virtual registers; Application software; Computer architecture; Interference; Kernel; Laboratories; Merging; Parallel processing; Pipeline processing; Registers; VLIW;
Conference_Titel :
Microarchitecture, 1995., Proceedings of the 28th Annual International Symposium on
Conference_Location :
Ann Arbor, MI
Print_ISBN :
0-8186-7349-4
DOI :
10.1109/MICRO.1995.476825