Package | Description |
---|---|
org.jikesrvm.compilers.opt | |
org.jikesrvm.compilers.opt.bc2ir |
Provides classes that implement the transformation from bytecode to the
high-level intermediate representation (HIR).
|
org.jikesrvm.compilers.opt.controlflow | |
org.jikesrvm.compilers.opt.hir2lir | |
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.ssa |
SSA implementation (disabled because of bugs, see entry in issue tracker).
|
Class and Description |
---|
BranchOptimizations
Perform simple peephole optimizations for branches.
|
Class and Description |
---|
BranchOptimizations
Perform simple peephole optimizations for branches.
|
Class and Description |
---|
AnnotatedLSTNode.BBEnum
This class implements an enumeration of
BasicBlock s. |
AnnotatedLSTNode.NonRegularLoopException
Exception thrown when a non-regular loop is encountered
|
BranchOptimizationDriver
IR level independent driver for
simple peephole optimizations of branches.
|
BranchOptimizations
Perform simple peephole optimizations for branches.
|
Diamond
This class represents a diamond (if-then-else) structure in the
control-flow graph.
|
DominatorInfo
This structure holds dominator-related information for a basic block.
|
DominatorOperator
This class implements the MEET operation for the
dataflow equations for the dominator calculation.
|
DominatorTreeNode
This class implements a node in the dominator tree.
|
LoopUnrolling.RealDefs |
LSTGraph
Identify natural loops and builds the LST (Loop Structure Tree)
Note: throws an exception if an irreducible loop is found
(which I believe could only happen in Java from modified bytecode,
because Java source code is structured enough to prevent
irreducible loops.)
|
LSTNode
A node in the LST (Loop Structure Tree)
|
LSTNode.Edge |
LTDominatorInfo
This class holds data associated with a basic block as computed by the
Lengauer-Tarjan dominator calculation.
|
ReorderingPhase.ChainInfo |
ReorderingPhase.Edge |
StaticSplitting.CandInfo |
Class and Description |
---|
BranchOptimizations
Perform simple peephole optimizations for branches.
|
Class and Description |
---|
Dominators
Calculate dominators for basic blocks.
|
DominatorTree
This class provides the abstraction of a dominator tree
TODO: we do not support IRs with exception handlers.
|
LSTGraph
Identify natural loops and builds the LST (Loop Structure Tree)
Note: throws an exception if an irreducible loop is found
(which I believe could only happen in Java from modified bytecode,
because Java source code is structured enough to prevent
irreducible loops.)
|
LTDominators
Calculate dominators using Langauer and Tarjan's fastest algorithm.
|
Class and Description |
---|
AnnotatedLSTNode
A node in the LST (Loop Structure Tree) with added information
on:
Whether this is a countable, affine or non-regular loop
The registers being used to hold the loop iterator
The initial loop iterator value
The terminal loop iterator value
The instruction that modifies the iterator
The phi instruction that merges the redefined iterator with its original value
The condition used to test for loop termination
The stride operand
The information is only held on regular loops.
|
BranchOptimizations
Perform simple peephole optimizations for branches.
|
DominatorTree
This class provides the abstraction of a dominator tree
TODO: we do not support IRs with exception handlers.
|
LSTGraph
Identify natural loops and builds the LST (Loop Structure Tree)
Note: throws an exception if an irreducible loop is found
(which I believe could only happen in Java from modified bytecode,
because Java source code is structured enough to prevent
irreducible loops.)
|