org.jikesrvm.compilers.opt.regalloc
Class CoalesceMoves

java.lang.Object
  extended by org.jikesrvm.compilers.opt.driver.CompilerPhase
      extended by org.jikesrvm.compilers.opt.regalloc.CoalesceMoves

public class CoalesceMoves
extends CompilerPhase

Coalesce registers in move instructions where possible.


Field Summary
(package private) static boolean DEBUG
          verbose debugging flag
 
Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase
container
 
Constructor Summary
CoalesceMoves()
           
 
Method Summary
 String getName()
          Return a string name for this phase.
 CompilerPhase newExecution(IR ir)
          Return this instance of this phase.
 void perform(IR ir)
          This is the method that actually does the work of the phase.
 boolean shouldPerform(OptOptions options)
          Should we perform this phase?
 
Methods inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, printingEnabled, reportAdditionalStats, setContainer, verify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

static final boolean DEBUG
verbose debugging flag

See Also:
Constant Field Values
Constructor Detail

CoalesceMoves

public CoalesceMoves()
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

shouldPerform

public final boolean shouldPerform(OptOptions options)
Should we perform this phase?

Overrides:
shouldPerform in class CompilerPhase
Parameters:
options - the compiler options for the compilation
Returns:
true iff move instructions should be coalesced after leaving SSA

getName

public final String getName()
Return a string name for this phase.

Specified by:
getName in class CompilerPhase
Returns:
"Coalesce Moves"

perform

public final void perform(IR ir)
Description copied from class: CompilerPhase
This is the method that actually does the work of the phase.

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