Title of article :
Register allocation by proof transformation
Author/Authors :
Atsushi Ohori، نويسنده ,
Issue Information :
دوهفته نامه با شماره پیاپی سال 2004
Pages :
27
From page :
161
To page :
187
Abstract :
This paper presents a proof-theoretical framework that accounts for the entire process of register allocation—liveness analysis is proof reconstruction (similar to type inference), and register allocation is proof transformation from a proof system with unrestricted variable accesses to a proof system with restricted variable access. In our framework, the set of registers acts as a “working set” of the live variables at each instruction step, which changes during the execution of the code. This eliminates the ad hoc notion of “spilling”. Memory–register moves are systematically incorporated in our proof transformation process. Its correctness is a direct corollary of our construction; the resulting proof is equivalent to the proof of the original code modulo treatment of structural rules. The framework serves as a basis for reasoning about formal properties of register allocation process, and it also yields a clean and systematic register allocation algorithm. The algorithm has been implemented, demonstrating the feasibility of the framework.
Keywords :
Register allocation , Liveness analysis , Proof transformation , Structural rules
Journal title :
Science of Computer Programming
Serial Year :
2004
Journal title :
Science of Computer Programming
Record number :
1079705
Link To Document :
بازگشت