Sciweavers

CC
2009
Springer

SSA Elimination after Register Allocation

15 years 1 months ago
SSA Elimination after Register Allocation
form uses a notational abstractions called -functions. These instructions have no analogous in actual machine instruction sets, and they must be replaced by ordinary instructions at some point of the compilation path. This process is called SSA elimination. Compilers usually performs SSA elimination before register allocation. But the order could as well be the opposite: our puzzle based register allocator performs SSA elimination after register allocation. SSA elimination before register allocation is straightforward and standard, while the state-of-the-art approaches to SSA elimination after register allocation have several shortcomings. In this report we present spill-free SSA elimination, a simple and efficient algorithm for SSA elimination after register allocation that avoids increasing the number of spilled variables. We also present three optimizations that enhance the quality of the code produced by the core algorithm. Our experiments show that spill-free SSA elimination take...
Fernando Magno Quintão Pereira, Jens Palsbe
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where CC
Authors Fernando Magno Quintão Pereira, Jens Palsberg
Comments (0)