Join us -- rethinking code generation

4 January, 2018 - 13:53

Crucial aspects of compiler technology in use today haven’t changed much since the sixties. We’re still generating assembly code in stages: instruction selection, register allocation and instruction scheduling. Each stage executes a suboptimal algorithm, which compromises the quality of the generated code. We think it’s time for a change.

As experts in optimization technology RISE SICS and KTH (Royal Institute of Technology in Stockholm) are leading a joint research project with Ericsson, with the aim to revolutionize compiler technology. The project Unison proposes new ways of optimization that improve the quality of the generated assembly code.

Unison is a simple, flexible and effective tool that rethinks code generation using combinatorial optimization technology. The tool performs integrated register allocation and instruction scheduling to deliver optimal code. This can be used as an alternative or as a complement to the algorithms provided by standard compilers such as LLVM.
The revolutionary technology behind the Unison project has recently been getting traction and everybody is encouraged to jump on board as the project is now released as open source on GitHub.

You can read how our partner Ericsson benefits from Unison here.
This is a fresh start for compilers, leave the sixties behind and step into the future with us!

                                                                                                                           

The project Unison, funded by the Swedish Research Council (VR 621-2011-6229), KTH and Ericsson, started in 2010 and has during the last years been getting more mature. The project continues with focus on consolidation and usability.
Unison is led by Christian Schulte, professor at KTH and expert researcher at RISE SICS, with participation from Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell, Frej Drejhammar and a team of student interns.

Official project site: http://unison-code.github.io/