Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • 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
Constraint-based register allocation and instruction scheduling
RISE, Swedish ICT, SICS.ORCID iD: 0000-0002-2806-7333
RISE, Swedish ICT, SICS.ORCID iD: 0000-0003-3079-8095
RISE, Swedish ICT, SICS.ORCID iD: 0000-0002-2637-2991
RISE, Swedish ICT, SICS. KTH Royal Institute of Technology, Sweden.ORCID iD: 0000-0002-6283-7004
2012 (English)In: Lecture Notes in Computer Science, 2012, Vol. 7514, p. 750-766Conference paper, Published paper (Refereed)
Abstract [en]

This paper introduces a constraint model and solving techniques for code generation in a compiler back-end. It contributes a new model for global register allocation that combines several advanced aspects: multiple register banks (subsuming spilling to memory), coalescing, and packing. The model is extended to include instruction scheduling and bundling. The paper introduces a decomposition scheme exploiting the underlying program structure and exhibiting robust behavior for functions with thousands of instructions. Evaluation shows that code quality is on par with LLVM, a state-of-the-art compiler infrastructure. The paper makes important contributions to the applicability of constraint programming as well as compiler construction: essential concepts are unified in a high-level model that can be solved by readily available modern solvers. This is a significant step towards basing code generation entirely on a high-level model and by this facilitates the construction of correct, simple, flexible, robust, and high-quality code generators.

Place, publisher, year, edition, pages
2012. Vol. 7514, p. 750-766
Keywords [en]
Code Generation, Code generators, Code quality, Compiler construction, Constraint model, Constraint programming, Constraint-based, Decomposition scheme, High quality, High-level models, Instruction scheduling, Program structures, Register allocation, Register bank, Robust behavior, Computer programming, Constraint theory, Flocculation, Network components, Program compilers
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:ri:diva-51170DOI: 10.1007/978-3-642-33558-7_54Scopus ID: 2-s2.0-84868266938ISBN: 9783642335570 (print)OAI: oai:DiVA.org:ri-51170DiVA, id: diva2:1514153
Conference
8 October 2012 through 12 October 2012, Quebec City, QC
Available from: 2021-01-04 Created: 2021-01-04 Last updated: 2023-05-16Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Castañeda Lozano, RobertoCarlsson, MatsDrejhammar, FrejSchulte, Christian

Search in DiVA

By author/editor
Castañeda Lozano, RobertoCarlsson, MatsDrejhammar, FrejSchulte, Christian
By organisation
SICS
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

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

Direct link
Cite
Citation style
  • apa
  • 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