skip to main content
10.1145/2463596.2486155acmotherconferencesArticle/Chapter ViewAbstractPublication PagesscopesConference Proceedingsconference-collections
research-article

Constraint-based code generation

Published: 19 June 2013 Publication History

Abstract

Compiler back-ends generate assembly code by solving three main tasks: instruction selection, register allocation and instruction scheduling. We introduce constraint models and solving techniques for these code generation tasks and describe how the models can be composed to generate code in unison. The use of constraint programming, a technique to model and solve combinatorial problems, makes code generation simple, flexible, robust and potentially optimal.

References

[1]
R. Castañeda Lozano, M. Carlsson, F. Drejhammar, and C. Schulte. Constraint-based register allocation and instruction scheduling. In CP, pages 750--766. Springer, 2012.
[2]
C. M. Hoffmann and M. J. O'Donnell. Pattern matching in trees. Journal of the ACM, 29(1):68--95, Jan. 1982.
[3]
A. M. Malik, J. McInnes, and P. van Beek. Optimal basic block instruction scheduling for multiple-issue processors using constraint programming. International Journal on Artificial Intelligence Tools, 17(1):37--54, 2008.
[4]
F. Pereira and J. Palsberg. Register allocation by puzzle solving. SIGPLAN Not., 43:216--226, June 2008.
[5]
F. Rossi, P. van Beek, and T. Walsh. Handbook of Constraint Programming. Elsevier, 2006.

Cited By

View all
  • (2015)Integer Linear Programming-Based Scheduling for Transport Triggered ArchitecturesACM Transactions on Architecture and Code Optimization10.1145/284508212:4(1-22)Online publication date: 22-Dec-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
M-SCOPES '13: Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems
June 2013
110 pages
ISBN:9781450321426
DOI:10.1145/2463596
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

  • EDAA: European Design Automation Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. constraint programming
  2. instruction scheduling
  3. instruction selection
  4. register allocation

Qualifiers

  • Research-article

Conference

M-SCOPES '13
Sponsor:
  • EDAA

Acceptance Rates

M-SCOPES '13 Paper Acceptance Rate 9 of 16 submissions, 56%;
Overall Acceptance Rate 38 of 79 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2015)Integer Linear Programming-Based Scheduling for Transport Triggered ArchitecturesACM Transactions on Architecture and Code Optimization10.1145/284508212:4(1-22)Online publication date: 22-Dec-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media