org.jikesrvm.compilers.opt
Class LocalCopyProp
java.lang.Object
org.jikesrvm.compilers.opt.driver.CompilerPhase
org.jikesrvm.compilers.opt.LocalCopyProp
public class LocalCopyProp
- extends CompilerPhase
Perform local copy propagation for a factored basic block.
Orthogonal to the copy propagation performed in Simple
since here we use flow-sensitive analysis within a basic block.
TODO: factor out common functionality in the various local propagation
phases?
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LocalCopyProp
public LocalCopyProp()
shouldPerform
public final boolean shouldPerform(OptOptions options)
- Description copied from class:
CompilerPhase
- This method determines if the phase should be run, based on the
Options object it is passed.
By default, phases are always performed.
Subclasses should override this method if they only want
to be performed conditionally.
- Overrides:
shouldPerform in class CompilerPhase
- Parameters:
options - the compiler options for the compilation
- Returns:
- true if the phase should be performed
getName
public final String getName()
- Specified by:
getName in class CompilerPhase
- Returns:
- a String which is the name of the phase.
reportAdditionalStats
public void reportAdditionalStats()
- Description copied from class:
CompilerPhase
- Called when printing a measure compilation report to enable a phase
to report additional phase-specific statistics.
- Overrides:
reportAdditionalStats in class CompilerPhase
newExecution
public CompilerPhase newExecution(IR ir)
- Return this instance of this phase. This phase contains no
per-compilation instance fields.
- Overrides:
newExecution in class CompilerPhase
- Parameters:
ir - not used
- Returns:
- this
perform
public void perform(IR ir)
- Perform local constant propagation for a method.
- Specified by:
perform in class CompilerPhase
- Parameters:
ir - the IR to optimize