Abstract / Description of output
This paper presents a novel combinatorial model that integrates global register allocation based on ultimate coalescing, spill code optimization, register packing, and multiple register banks with instruction scheduling (including VLIW). The model exploits alternative temporaries that hold the same value as a new concept for ultimate coalescing and spill code optimization.
The paper presents Unison as a code generator based on the model and advanced solving techniques using constraint programming. Thorough experiments using MediaBench and a processor (Hexagon) that are typical for embedded systems demonstrate that Unison: is robust and scalable; generates faster code than LLVM (up to 41% with a mean improvement of 7%); possibly generates optimal code (for 29% of the experiments); effortlessly supports different optimization criteria (code size on par with LLVM).
Unison is significant as it addresses the same aspects as traditional code generation algorithms, yet is based on a simple integrated model and robustly can generate optimal code.
The paper presents Unison as a code generator based on the model and advanced solving techniques using constraint programming. Thorough experiments using MediaBench and a processor (Hexagon) that are typical for embedded systems demonstrate that Unison: is robust and scalable; generates faster code than LLVM (up to 41% with a mean improvement of 7%); possibly generates optimal code (for 29% of the experiments); effortlessly supports different optimization criteria (code size on par with LLVM).
Unison is significant as it addresses the same aspects as traditional code generation algorithms, yet is based on a simple integrated model and robustly can generate optimal code.
Original language | English |
---|---|
Title of host publication | Proceedings of the 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems |
Place of Publication | New York, NY, USA |
Publisher | Association for Computing Machinery, Inc |
Pages | 23–32 |
Number of pages | 10 |
ISBN (Print) | 9781450328777 |
DOIs | |
Publication status | Published - 13 Jun 2014 |
Event | 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems - Edinburgh, United Kingdom Duration: 12 Jun 2014 → 13 Jun 2014 http://www.ittc.ku.edu/lctes14/ |
Conference
Conference | 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems |
---|---|
Abbreviated title | LCTES 2014 |
Country/Territory | United Kingdom |
City | Edinburgh |
Period | 12/06/14 → 13/06/14 |
Internet address |
Keywords / Materials (for Non-textual outputs)
- spill code optimization
- register allocation
- ultimate coalescing
- instruction scheduling
- combinatorial optimization