C,
Fortran, Java (under development)
X86,
MIPS (under development), BOPS
function
inlining
dead
code elimination
loop
transformations: unrolling, invariant code motion, interchange, distribution,
fusion, peeling, normalization
constant
folding / constant propagation
copy
propagation
symbolic
optimizations: fixed iteration loop recognition, induction variable optimizations,
loop invariant code motion
subscript
analysis
interprocedural
symbolic analysis
control
flow graph
dominator
and post dominator information
control
dependence graph
data
dependence graph
privatization,
reduction
execution
conditions
instruments
parallel code to work with the Illinois-Intel Multithreading Library (IML)
Can
add new types, expressions, instructions
Can
attach new fields to existing structures and adding new analysis types
machine
description driven retargetable compilation
Graphical
Representation of the IR for debugging
A
regression suite
general
data flow framework
common
subexpression elimination
multigrain
multithreaded code generation