2004
DOI: 10.1016/j.scico.2004.01.005
|View full text |Cite
|
Sign up to set email alerts
|

Register allocation by proof transformation

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
5
0

Year Published

2006
2006
2018
2018

Publication Types

Select...
3
2
2

Relationship

2
5

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 17 publications
0
5
0
Order By: Relevance
“…We adopt the idea underlying the logical interpretation of machine code [22,23] and define the type system as a set of rules of the form Å Ä ½ Å Ä ¾ Á representing the fact that the static semantics of Á is to change the (static) status of the set of live variables from ¾ to ½.…”
Section: ð ³ ðmentioning
confidence: 99%
See 1 more Smart Citation
“…We adopt the idea underlying the logical interpretation of machine code [22,23] and define the type system as a set of rules of the form Å Ä ½ Å Ä ¾ Á representing the fact that the static semantics of Á is to change the (static) status of the set of live variables from ¾ to ½.…”
Section: ð ³ ðmentioning
confidence: 99%
“…Several papers [11,2,6] discussed correspondences between SSA form and restricted form of functional languages (CPS and Anormal forms.) Since the logical interpretation [22,23] on which our type system is roughly based, is shown to be equivalent to the type system of the lambda calculus, our SSA typing could be used to extend these results to typed calculi.…”
Section: Related Workmentioning
confidence: 99%
“…These observation suggest that, in practice, there seems a room to improve the constant factor drastically by demand-driven computation and other program transformation techniques, which are available for functional programs. For instance, Ohori proposed another register allocation by proof transformation on a typed assembly language, which reduces the number of candidates of optimal register allocations [22]. The combination with such methods would be worth exploring.…”
Section: Related Workmentioning
confidence: 99%
“…For example, CPS can faithfully represent join points in control flow (Kennedy, 2007), whereas direct style can use arbitrary transformations expressed in terms of the original program (Peyton Jones et al, 2001). Finally, the sequent calculus can also be interpreted as an even lower-level, machine-like language for functional programs (Ohori, 1999), which can be used to reason about fine details like manual memory management (Ohori, 2003). Therefore, the computational interpretation of the sequent calculus acts like a beacon illuminating murky areas in both the design and implementation of functional languages.…”
Section: Introductionmentioning
confidence: 99%