Talk by Roberto Castañeda Lozano: Constraint-Based Register Allocation and Instruction Scheduling

Roberto has been part of a very cool project in KTH where they used Constraint Programming to solve a number of compiler problems. He is now working for Edinburgh and we invited him to give us a talk about his research in this area. The talk will be 30 minutes + Q&A. Please come along if you are interested.

Date/time: Oct 30th, 11am

Location: JC 1.33b

Title: Constraint-Based Register Allocation and Instruction Scheduling

Presenter: Roberto Castañeda Lozano – School of Informatics, University of Edinburgh

(joint work with Mats Carlsson, Frej Drejhammar, Gabriel Hjort Blindell, and Christian Schulte at RISE SICS and KTH Royal Institute of Technology in Stockholm, Sweden)

Abstract: This talk presents a constraint-based approach to register allocation and instruction scheduling, two central compiler problems. Unlike conventional heuristic algorithms, constraint programming has the potential to solve these problems optimally and to exploit processor-specific features readily. Our approach is the first to leverage this potential in practice by capturing the complete set of register allocation and instruction scheduling subproblems handled by state-of-the-art compilers, scaling to medium-sized problems, and generating executable code. The approach can be used to trade compilation time for code quality beyond the usual compiler optimization levels, explore and exploit processor-specific features, and identify improvement opportunities in conventional compilers.
More information can be found in Roberto’s doctoral dissertation (https://robcasloz.github.io/publications/TRITA-EECS-AVL-2018-48.pdf) and on the project’s website (http://unison-code.github.io).