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
SML/NJ Validate this page
Generated by mltex2html
Last modified: Thu Jan 9 19:38:15 EST 2003 by leunga@slinky