Section: New Results
Studying Optimal Spilling in the Light of SSA
Participants : Florian Brandner, Quentin Colombet, Alain Darte.
Recent developments in register allocation, mostly linked to static single assignment (SSA) form, have shown that it is possible to decouple the problem in two successive phases: a first spilling phase places load and store instructions so that the register pressure at all program points is small enough, a second assignment and coalescing phase maps the remaining variables to physical registers and reduces the number of move instructions among registers. We focused on the first phase, for which many open questions remained: in particular, we studied the notion of optimal spilling (what can be expressed?) and the impact of SSA form (does it help?).
To identify
the important features
for optimal spilling on load-store architectures, we developed a new integer
linear programming formulation, more accurate and expressive than previous
approaches. Among other features, we can express SSA
This work has been presented at the CASES'11 conference [8] .