Architecture of MLRISC

Core Components

The core components of MLRISC allow the client to quickly construct an optimizing backend for various architectures. These components include: For systems that require direct machine code generation, the following modules are included:

Optimization Modules

In addition, MLRISC has been enhanced to support various types of machine level optimizations. These include:

Basic Concepts

Basic concepts in MLRISC are:

How Things Are Fit Together

MLRISC uses two different program representations, clusters and MLRISC IR. Conversion modules between the two representations are provided. In general MLRISC optimization phases are transformations applied on one of these representations. Optimizations may be chained together to form a compiler backend. For example, a minimal backend consists of
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: n, and <li> the assembly code emitter, which generates assembly output </ul> <HR> </BODY> </HTML>