Intermediate Language Design in Optimizing Compilers

Date and time: 
Friday, December 8, 2017 - 12:00
Location: 
220 Deschutes
Author(s):
Luke Maurer
University of Oregon
Host/Committee: 
  • Zena Ariola (Chair)
  • Boyana Norris
  • Michal Young
  • Mark Lonergan, Chemistry and Biochemistry

Every compiler passes code through several stages, each a sort of
mini-compiler of its own. Thus each stage may deal with the code in a
different representation, which may have little to do with the source or
target language. We can describe these in-memory representations as languages
in their own right, which we call \emph{intermediate languages}.

This dissertation explores the connections between different intermediate
languages and how they can be interderived, then demonstrates how translation
lead to an improvement to the Glasgow Haskell Compiler opimization engine.