MIR - Machine specific Intermediate Representation
The machine specific intermediate representation is target platform specific. The MOSA compiler currently has subprojects for the following target architectures:
Each of these target platforms has their own machine specific intermediate representation.
Why another level after the intermediate representation?
Using another level makes it possible to use target architecture specific features. For example, the x86 is able to transform load-modify-store sequences into a modify-store sequences, as it allows a memory operand for most arithmetic operations. This results
in smaller generated code as well as better runtime performance in some cases.