2019
DOI: 10.1145/3332373
|View full text |Cite
|
Sign up to set email alerts
|

Combinatorial Register Allocation and Instruction Scheduling

Abstract: This paper introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-specific features readily. Our approach is the first to leverage this potential in practice: it captures the complete set of program transformations used in state-of-the-art compilers, scales to mediumsized functions of up to 1000 instructions, and generates executable… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
13
0
1

Year Published

2019
2019
2024
2024

Publication Types

Select...
6
2
1

Relationship

0
9

Authors

Journals

citations
Cited by 21 publications
(14 citation statements)
references
References 100 publications
0
13
0
1
Order By: Relevance
“…Implementation. DivCon is implemented as an extension of Unison [6], and is available at https://github.com/romits800/divcon. Unison implements two backend transformations: instruction scheduling and register allocation.…”
Section: Methodsmentioning
confidence: 99%
“…Implementation. DivCon is implemented as an extension of Unison [6], and is available at https://github.com/romits800/divcon. Unison implements two backend transformations: instruction scheduling and register allocation.…”
Section: Methodsmentioning
confidence: 99%
“…The practical applicability of the developed methods and algorithms for automating code generation for DSL compilers for specialized processors is confirmed by the experimental evaluation of the created JC compiler on a set of applications. NOLTIS [16], PBQP [17], CP [18] SAT [19], ILP [20], CP [21] Graph coloring [22], puzzle method [23], ILP [24], PBQP [25] ILP [26] ILP [27], CP [28] ILP [29]…”
Section: Discussionmentioning
confidence: 99%
“…Планирование команд Распределение регистров NOLTIS [16], PBQP [17], CP [18] SAT [19], ЦЛП [20], CP [21] Раскраска графа [22], метод головоломок [23], ЦЛП [24], PBQP [25] ЦЛП [26] ЦЛП [27], CP [28] ЦЛП [29]…”
Section: выбор командunclassified