Combinatorial Spill Code Optimization and Ultimate Coalescing

Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell, Christian Schulte

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.
Original languageEnglish
Title of host publicationProceedings of the 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems
Place of PublicationNew York, NY, USA
PublisherAssociation for Computing Machinery, Inc
Pages23–32
Number of pages10
ISBN (Print)9781450328777
DOIs
Publication statusPublished - 13 Jun 2014
Event2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems - Edinburgh, United Kingdom
Duration: 12 Jun 201413 Jun 2014
http://www.ittc.ku.edu/lctes14/

Conference

Conference2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems
Abbreviated titleLCTES 2014
Country/TerritoryUnited Kingdom
CityEdinburgh
Period12/06/1413/06/14
Internet address

Keywords / Materials (for Non-textual outputs)

  • spill code optimization
  • register allocation
  • ultimate coalescing
  • instruction scheduling
  • combinatorial optimization

Fingerprint

Dive into the research topics of 'Combinatorial Spill Code Optimization and Ultimate Coalescing'. Together they form a unique fingerprint.

Cite this