Constraint-based Code Generation

Roberto CastaƱeda Lozano, Gabriel Hjort Blindell, Mats Carlsson, Frej Drejhammar, Christian Schulte.

[pdf | bibtex]

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.

In: Sander Stuijk, editor, Sixteenth International Workshop on Software and Compilers for Embedded Systems, St. Goar, Germany, pages 93-95. ACM Press, June, 2013.

Copyright ACM, 2013. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definite version was published as described above.