Title :
Optimal register assignment to loops for embedded code generation
Author :
Kolson, David J. ; Nicolau, Alexandru ; Dutt, Nikil ; Kennedy, Ken
Author_Institution :
Dept. of Inf. & Comput. Sci., California Univ., Irvine, CA, USA
Abstract :
One of the challenging tasks in code generation for embedded systems is register assignment. When more live variables than registers exist, some variables are necessarily accessed from data memory. Because loops are typically executed many times and are often time-critical, good register assignment in loops is exceedingly important, since accessing data memory can degrade performance. The issue of finding an optimal register assignment to loops, one which minimizes the number of spills between registers and memory, has been open for some time. In this paper, we address this issue and present an optimal, but exponential, algorithm which assigns registers to loop bodies such that the resulting spill code is minimal. We also show that a heuristic modification performs as well as the exponential approach on typical loops from scientific code
Keywords :
optimisation; program control structures; real-time systems; storage allocation; data memory access; embedded code generation; exponential algorithm; heuristic modification; live variables; loops; minimal spill code; optimal register assignment; scientific code; Computer science; Distributed computing; Embedded system; Machinery; Registers; Time factors;
Conference_Titel :
System Synthesis, 1995., Proceedings of the Eighth International Symposium on
Conference_Location :
Cannes
Print_ISBN :
0-8186-7076-2
DOI :
10.1109/ISSS.1995.520611