Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2003)
New Orleans, Louisiana
Sept. 27, 2003 to Oct. 1, 2003
Akira Koseki , IBM Tokyo Research Laboratory
Hideaki Komatsu , IBM Tokyo Research Laboratory
Toshio Nakatani , IBM Tokyo Research Laboratory
This paper aims at minimizing the spill costs. Spill cost minimization heuristics that have been researched sometimes work in unexpected ways due to the lack of precise knowledge of registers availability, which can be obtained only after register allocation is all finished. Different from previous techniques, our approach, called spill code motion, tries to eliminate redundancy among spill code. This works as a variation of commonly used code motion techniques. After Chaitin-style graph coloring with na?ve live range splitting, spill-in instructions are first hoisted as long as registers are available and until they reach spillout instructions. Unnecessarily hoisted spill-in instructions are then sunk. The experimental results show our approach yields up to a 10% performance increase compared to the latest spill code minimization technique in the case of using small number of registers.
Akira Koseki, Hideaki Komatsu, Toshio Nakatani, "Spill Code Minimization by Spill Code Motion", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. 125, 2003, doi:10.1109/PACT.2003.1238009