org.jikesrvm.compilers.opt.controlflow
Class BuildLST
java.lang.Object
org.jikesrvm.compilers.opt.driver.CompilerPhase
org.jikesrvm.compilers.opt.controlflow.BuildLST
public class BuildLST
- extends CompilerPhase
A compiler phase to construct the loop structure tree (LST).
The steps are (1) construct approximate dominators (ie blocks are
not unfactored) and (2) build the LST.
- See Also:
LTDominators
,
LSTGraph
Methods inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, printingEnabled, reportAdditionalStats, setContainer, shouldPerform, verify |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BuildLST
public BuildLST()
getName
public String getName()
- Specified by:
getName
in class CompilerPhase
- Returns:
- a String which is the name of the phase.
newExecution
public final CompilerPhase newExecution(IR ir)
- This phase contains no per-compilation instance fields.
- Overrides:
newExecution
in class CompilerPhase
- Parameters:
ir
- the IR that is about to be passed to performPhase
- Returns:
- an opt compiler phase on which performPhase may be invoked.
perform
public void perform(IR ir)
- Build the Loop Structure Tree (LST) for the given IR.
NOTE: CFG must be reducible.
TODO: Detect irreducible CFG, apply node splitting and then construct LST.
- Specified by:
perform
in class CompilerPhase
- Parameters:
ir
- the IR on which to apply the phase