Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation 1997
DOI: 10.1145/258915.258941
|View full text |Cite
|
Sign up to set email alerts
|

Spill code minimization via interference region spilling

Abstract: Many optimizing compilers perform global register allocation using a Chaitin-style graph coloring algorithm. Live ranges that cannot be allocated to registers are spilled to memory. The amount of code required to spill the live range depends on the spilling heuristic used. Chaitin's spilling heuristic offers some guidance in reducing the amount of spill code produced. However, this heuristic does not allow the partial spilling of live ranges and the reduction in spill code is limited to a local level. In this … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
19
0

Year Published

2003
2003
2016
2016

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 42 publications
(19 citation statements)
references
References 6 publications
0
19
0
Order By: Relevance
“…Studies based on the algorithm of Chaitin and colleagues [18][19][20] have developed spilling heuristics to reduce spill code. Kolt, Bergner, and their colleagues [21,22] subsequently further narrowed the interference live ranges into interference regions. Also, precise knowledge of the availability of registers allows spill code motion [23] to partially allocate registers.…”
Section: Previous Workmentioning
confidence: 99%
“…Studies based on the algorithm of Chaitin and colleagues [18][19][20] have developed spilling heuristics to reduce spill code. Kolt, Bergner, and their colleagues [21,22] subsequently further narrowed the interference live ranges into interference regions. Also, precise knowledge of the availability of registers allows spill code motion [23] to partially allocate registers.…”
Section: Previous Workmentioning
confidence: 99%
“…So, the latency of each added edge is set to 1; 2. in the case of VLIW or EPIC/IA64, there exist reading and writing offsets. 3 Thus, for each added edge e = (u , v), the latency is set to…”
Section: An Algorithmic Heuristics For Reducing the Register Saturationmentioning
confidence: 99%
“…Live range splitting is a technique for reducing the spill amount [Chow and Hennessy 1990;Kolte and Harrold 1993;Cooper and Simpson 1998;Bergner et al 1997;Briggs 1992;Lueh 1997;Appel and George 2001]. It splits long live ranges into shorter ones by inserting copies and load/stores at appropriate places.…”
Section: Live Range Splitting and Optimistic Coalescingmentioning
confidence: 99%
“…They can be roughly categorized into the during-coloring approach and the before-coloring approach, depending on when the splitting takes place [Lueh 1997]. The during-coloring approach splits uncolorable live ranges on demand during the coloring, generally in the color select phase [Chow and Hennessy 1990;Bergner et al 1997;Cooper and Simpson 1998]. On the other hand, the before-coloring approach splits live ranges in advance before the coloring starts [Briggs 1992;Appel and George 2001].…”
Section: Live Range Splitting and Optimistic Coalescingmentioning
confidence: 99%