Sciweavers

PLDI
2005
ACM

Demystifying on-the-fly spill code

14 years 6 months ago
Demystifying on-the-fly spill code
Modulo scheduling is an effective code generation technique that exploits the parallelism in program loops by overlapping iterations. One drawback of this optimization is that register requirements increase significantly because values across different loop iterations can be live concurrently. One possible solution to reduce register pressure is to insert spill code to release registers. Spill code stores values to memory between the producer and consumer instructions. Spilling heuristics can be divided into two classes: 1) a posteriori approaches (spill code is inserted after scheduling the loop) or 2) on-the-fly approaches (spill code is inserted during loop scheduling). Recent studies have reported obtaining better results for spilling on-the-fly. In this work, we study both approaches and propose two new techniques, one for each approach. Our new algorithms try to address the drawbacks observed in previous proposals. We show that the new algorithms outperform previous technique...
Alex Aletà, Josep M. Codina, Antonio Gonz&a
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where PLDI
Authors Alex Aletà, Josep M. Codina, Antonio González, David R. Kaeli
Comments (0)