Title :
Minimum register instruction sequence problem: revisiting optimal code generation for DAGs
Author :
Govindarajan ; Yang, H. ; Amaral, J.N. ; Zhang, C. ; Gao, G.R.
Author_Institution :
Dept. of Comput. Sci. & Autom., Indian Inst. of Sci., Bangalore, India
Abstract :
We revisit the optimal code generation or evaluation order determination problem-the problem of generating an instruction sequence from a data dependence graph (DDG). In particular, we are interested in generating an instruction sequence S that is optimal in terms of the number of registers used by the sequence S. We call this MRIS (Minimum Register Instruction Sequence) problem. We developed an efficient heuristic solution for the MRIS problem based on the notion of instruction lineage. This solution facilitates the sharing of registers among instructions within a lineage and across lineages by exploiting the structure of a DDG. We implemented our solution on a production compiler and measured the reduction in the number of (spill) loads and (Spill) stores and the wall-clock execution time for the SPEC95 floating point benchmark suite. On average our method reduced the number of loads and stores by 11.5% and 15.9%, respectively, and decreased the total execution time by 2.5%
Keywords :
floating point arithmetic; performance evaluation; program compilers; SPEC95 floating point benchmark suite; data dependence graph; evaluation order determination; heuristic solution; instruction lineage; instruction sequence; minimum register instruction sequence problem; optimal code generation; production compiler; wall-clock execution time; Automation; Computer science; Computer science education; Magnetic resonance imaging; Processor scheduling; Registers; Runtime; Supercomputers; Switches; Yarn;
Conference_Titel :
Parallel and Distributed Processing Symposium., Proceedings 15th International
Conference_Location :
San Francisco, CA
Print_ISBN :
0-7695-0990-8
DOI :
10.1109/IPDPS.2001.924962