Abstract
Compilation of high-level languages, be they domain-specific ones or general purpose ones, typically entails rather sophisticated program analyses to facilitate extensive program manipulations and target architecture-specific code generation. This talk shows how several of these techniques can benefit vastly from the use of partial evaluation techniques; it reflects some of the experiences gained in the context of the ecosystem of compiler tools around the programming language SAC (Single Assignment C). I describe how partial evaluation over the lifetime of the compiler development project has turned into a versatile tool that supports several aspects during the compilation, optimisation and code generation for SAC programs. At three concrete use scenarios in our toolchain: Type inference, constraint resolution and applicationspecific code generation, I demonstrate the gains from partial evaluation. A discussion about limitations, further application potential and possible alternatives concludes the presentation. Categories and Subject Descriptors D.3.4.a [Programming Languages]: Code Generation; D.3.4.b [Programming Languages]: Compilers; D.3.4.d [Programming Languages]: Incremental Compilers; D.3.4.g [Programming Languages]: Optimization.
Original language | English |
---|---|
Title of host publication | PEPM 2014 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2014 |
Publisher | Association for Computing Machinery |
Pages | 95-96 |
Number of pages | 2 |
ISBN (Print) | 9781450326193 |
DOIs | |
Publication status | Published - 2014 |
Event | ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - San Diego, CA, United Kingdom Duration: 20 Jan 2014 → 21 Jan 2014 |
Conference
Conference | ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation |
---|---|
Abbreviated title | PEPM 2014 - Co-located with POPL 2014 |
Country/Territory | United Kingdom |
City | San Diego, CA |
Period | 20/01/14 → 21/01/14 |
Keywords
- Highly optimising compilers
- Partial evaluation
- SAC
ASJC Scopus subject areas
- Computer Graphics and Computer-Aided Design
- Computer Vision and Pattern Recognition
- Software