Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Survey on Combinatorial Register Allocation and Instruction Scheduling
KTH, School of Electrical Engineering and Computer Science (EECS), Software and Computer systems, SCS. RISE SICS, Box 1263, S-16440 Kista, Sweden..ORCID iD: 0000-0002-2806-7333
KTH, School of Electrical Engineering and Computer Science (EECS), Software and Computer systems, SCS. RISE SICS, Box 1263, S-16440 Kista, Sweden..ORCID iD: 0000-0002-6283-7004
2019 (English)In: ACM Computing Surveys, ISSN 0360-0300, E-ISSN 1557-7341, Vol. 52, no 3, article id 62Article in journal (Refereed) Published
Abstract [en]

Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a compiler. In the past three decades, combinatorial optimization has emerged as an alternative to traditional, heuristic algorithms for these two tasks. Combinatorial optimization approaches can deliver optimal solutions according to a model, can precisely capture trade-offs between conflicting decisions, and are more flexible at the expense of increased compilation time. This article provides an exhaustive literature review and a classification of combinatorial optimization approaches to register allocation and instruction scheduling, with a focus on the techniques that are most applied in this context: integer programming, constraint programming, partitioned Boolean quadratic programming, and enumeration. Researchers in compilers and combinatorial optimization can benefit from identifying developments, trends, and challenges in the area; compiler practitioners may discern opportunities and grasp the potential benefit of applying combinatorial optimization.

Place, publisher, year, edition, pages
ASSOC COMPUTING MACHINERY , 2019. Vol. 52, no 3, article id 62
Keywords [en]
Combinatorial optimization, register allocation, instruction scheduling
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-257823DOI: 10.1145/3200920ISI: 000481570600019Scopus ID: 2-s2.0-85068049964OAI: oai:DiVA.org:kth-257823DiVA, id: diva2:1348978
Note

QC 20190906

Available from: 2019-09-06 Created: 2019-09-06 Last updated: 2019-09-06Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records BETA

Castañeda Lozano, RobertoSchulte, Christian

Search in DiVA

By author/editor
Castañeda Lozano, RobertoSchulte, Christian
By organisation
Software and Computer systems, SCS
In the same journal
ACM Computing Surveys
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 48 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf