2006
DOI: 10.1007/978-3-540-69330-7_1
|View full text |Cite
|
Sign up to set email alerts
|

Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms

Abstract: Abstract. Techniques for global register allocation via graph coloring have been extensively studied and widely implemented in compiler frameworks. This paper examines a particular variant -the Callahan Koblenz allocator -and compares it to the Chaitin-Briggs graph coloring register allocator. Both algorithms were published in the 1990's, yet the academic literature does not contain an assessment of the Callahan-Koblenz allocator. This paper evaluates and contrasts the allocation decisions made by both algorit… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2006
2006
2014
2014

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 22 publications
0
5
0
Order By: Relevance
“…Let P ′ be the simple path obtained by short-cutting P . Then Constraint (10) ensures the existence of a vertex u in P ′ withx u b = 1. Then such a vertex also exists on P , and choose w to be the last vertex on P withx w b = 1.…”
Section: Derandomizationmentioning
confidence: 99%
See 1 more Smart Citation
“…Let P ′ be the simple path obtained by short-cutting P . Then Constraint (10) ensures the existence of a vertex u in P ′ withx u b = 1. Then such a vertex also exists on P , and choose w to be the last vertex on P withx w b = 1.…”
Section: Derandomizationmentioning
confidence: 99%
“…Also, as opposed to most theoretical work, we do not assume any structure (such as low treewidth) for the input graph. Most related to our model are the "spill heuristics" discussed in [6,5,7,29,12,10], but as the name suggests we do not know of any previous approximation algorithms. Here "spill" means putting some variables in the RAM instead of registers and the aim of those heuristics is to minimize the number of variables "spilled".…”
Section: Introductionmentioning
confidence: 99%
“…For both tests, the binary file was generated successfully, as did our register allocation policy, based on Chaittin-Briggs algorithm [9]. The binary files generated by JaNi were tested on a Nios II simulator [15] and produced the expected results.…”
Section: Case Studiesmentioning
confidence: 99%
“…Many improvements have been made to the basic Chaitin allocator to improve spill code generation [10,15,5,6], better address features of irregular architectures [8,9,40], represent register preferences [13,28], and exploit program structure [11,14,32].…”
Section: Related Workmentioning
confidence: 99%