HP Labs Technical Reports
Click here for full text:
Register Allocation for Modulo Scheduled Loops: Strategies, Algorithms and Heuristics
Rau, B. Ramakrishna.; Lee, Meng; Tirumalai, Partha P.; Schlansker, Michael S.
Abstract: Software pipelining is an important instruction scheduling technique for efficiently overlapping successive iterations of loops and executing them in parallel. This technical report studies the task of register allocation for software pipelined loops, both with and without hardware features that are specifically aimed at supporting software pipelines. register allocation for software pipelines presents certain novel problems leading to unconventional solutions, especially in the presence of hardware support. this technical report formulates these novel problems and presents a number of alternative solution strategies. These alternatives are comprehensively tested against over one thousand loops to determine the best register allocation strategy, both with and without the hardware support for software pipelining.
Back to Index