(Mathematical Intermediate representation for Register Allocation)

MIRA is a mathematical intermediate representation of an input program and the target architecture. It contains the typical program specific and architecture specific information required by different register allocators. A sample MIRA program looks like this.

A MIRA program consists of sets and parameters written in AMPL syntax. A set is a symbolic enumeration and a parameter can be a scalar value or a collection of values indexed by one or more sets.

The description for the MIRA language can be found in the technical report.

A short description of each term is given here for a quick reference: