org.jikesrvm.compilers.opt.ssa
Class GlobalValueNumber

java.lang.Object
  extended by org.jikesrvm.compilers.opt.driver.CompilerPhase
      extended by org.jikesrvm.compilers.opt.ssa.GlobalValueNumber

 class GlobalValueNumber
extends CompilerPhase

This class implements global value numbering ala Alpern, Wegman and Zadeck, PoPL 88. See Muchnick p.348 for a nice discussion.


Field Summary
private static boolean DEBUG
          Print verbose debugging output?
 
Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase
container
 
Constructor Summary
GlobalValueNumber()
           
 
Method Summary
 String getName()
          Return the name of this phase.
 CompilerPhase newExecution(IR ir)
          Return this instance of this phase.
 void perform(IR ir)
          Main driver for global value number-related computations PRECONDITION: Array SSA form POSTCONDITION: ir.valueNumbers holds global value number state
 
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
 

Field Detail

DEBUG

private static final boolean DEBUG
Print verbose debugging output?

See Also:
Constant Field Values
Constructor Detail

GlobalValueNumber

GlobalValueNumber()
Method Detail

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

getName

public final String getName()
Return the name of this phase.

Specified by:
getName in class CompilerPhase
Returns:
"Global Value Number"

perform

public final void perform(IR ir)
Main driver for global value number-related computations

PRECONDITION: Array SSA form

POSTCONDITION: ir.valueNumbers holds global value number state

Specified by:
perform in class CompilerPhase
Parameters:
ir - the IR on which to apply the phase