MLRISC

MLRISC Contributors Requirements How to Obtain MLRISC

Overview

Problem Statement Contributions MLRISC Based Compiler MLRISC Intermediate Representation MLRisc Generation Back End Optimizations Register Allocation Machine Description Garbage Collection Safety System Integration Optimizations Graphical Interface Line Counts Systems Using MLRISC Future Work

System

Architecture of MLRISC The MLTREE Language MLTree Extensions MLTree Utilities Instruction Selection Assemblers Machine Code Emitters Delay Slot Filling Span Dependency Resolution The Graph Library The Graph Visualization Library Basic Compiler Graphs The MLRISC IR SSA Optimizations ILP Optimizations Optimizations for VLIW/EPIC Architectur... Register Allocator

Back Ends

The Alpha Back End The PA RISC Back End The Sparc Back End The Intel x86 Back End The PowerPC Back End The MIPS Back End The TI C6x Back End

Basic Types

Annotations Cells Cluster Client Defined Constants Client Defined Pseudo Ops Instructions Instruction Streams Label Expressions Labels Regions Regmap

# Annotations

Annotations

Overview Details

## Overview

A compiler front-end has to be propagate information to the back-end. An optimization phase may have to leave behind information at various places of the IR so that other phases can reuse such information. MLRISC uses the annotations mechanism for these functions. Individual instructions, basic blocks, and flow graph edges, can be attached one or more annotations.

The basic MLRISC system understands many annotations. Some examples are:

COMMENT
  these can be used to attach comments. If attached to an instruction, the assemblers will output them as part of their assembly output.
BRANCH_PROB
  these can be attached to a branch instruction to indicate the probability in which is it taken.
EXECUTION_FREQ
  these can be attached to a basic block to indicate its expected execution frequency

## Details

The primitive annotations datatype is defined to have this signature. In addition, MLRISC predefined a few primitive annotations that are recognized by the core system. This signature is MLRISC_ANNOTATIONS. More detailed documentation can be found in this paper.

Lal George
Allen Leung

Generated by mltex2html
Last modified: Mon Oct 3 20:52:35 UTC 2022 by buildd@x86-grnet-02