1996
DOI: 10.1002/(sici)1097-024x(199608)26:8<929::aid-spe40>3.0.co;2-t
|View full text |Cite
|
Sign up to set email alerts
|

Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming

Abstract: hiis paper presents a fundamentally new approach to global register allocation that optimally allocates registers and optimally places spill code, significantly decreasing spill code overhead compared with the traditional graphcoloring approach. The Optimal Register Allocation (ORA) approach formulates global register allocation as a 0-1 integer programming problem, incorporating all aspects of register allocation within a unified framework, including copy elimination, live range splitting, rematerialization, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
29
0

Year Published

2003
2003
2022
2022

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 33 publications
(29 citation statements)
references
References 3 publications
0
29
0
Order By: Relevance
“…However, they fail considerably for irregular architectures which invariably come with a smaller number of registers. In the recent past, approaches for optimal register allocation [1,8,11] have been proposed. The register allocation problem is formulated as an integer linear program (ILP) and solved using a general purpose ILP solver [6].…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…However, they fail considerably for irregular architectures which invariably come with a smaller number of registers. In the recent past, approaches for optimal register allocation [1,8,11] have been proposed. The register allocation problem is formulated as an integer linear program (ILP) and solved using a general purpose ILP solver [6].…”
Section: Related Workmentioning
confidence: 99%
“…The register allocation problem is formulated as an integer linear program (ILP) and solved using a general purpose ILP solver [6]. Although global register allocation is NP-complete, authors [8] have empirically demonstrated that it takes O(n 3 ) time to compute the optimal register allocation for real-life benchmarks. The runtime was reduced to O(n 1.3 ) when the problem was relaxed to compute near-optimal solutions [1].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…A number of models are built aiming at effectively assign variables into registers with less space and time complexity, while guaranteeing relatively higher code quality. These technical models involve: linear scan [19], integer linear programming [20], tree scan [21] and puzzle solving [33].…”
Section: Related Workmentioning
confidence: 99%
“…Coalescing aims to eliminate copy instructions of program variables by assigning both variables the same machine register. What is common to graph coloring based approaches and most techniques [GW96,PS99,KG06] proposed is that both register allocation/spilling and coalescing are considered to be inherent sub-problems that are solved concurrently.…”
Section: Related Workmentioning
confidence: 99%