MinIR, a Minimalistic Intermediate Representation

Julien Le Guen, Christophe Guillon, Fabrice Rastello. MinIR, a Minimalistic Intermediate Representation. In Florent Bouchez, Sebastian Hack, Eelco Visser, editors, Proceedings of the Workshop on Intermediate Representations. pages 5-12, 2011.

Abstract

Most compilers and other tools define their own Intermediate Representation to be able to work on a program, and sometimes even use a different one for each representation level, from source code parsing to the final object code generation.

This paper presents a new intermediate representation, designed to ease the interconnection of compilers, static analyzers, code generators and other tools. Generic core tools were developed together with the specification, to offer a basic toolkit and help the connection of client tools. MinIR generators exist for several compilers, and different analyzers are developed as a testbed to rapidly prototype different static analyzes over SSA code. This new common format enables the comparison of the code generator of several production compilers, and simplifies the connection of external tools to existing compilers.