|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.driver.CompilerPhase org.jikesrvm.compilers.opt.ssa.RedundantBranchElimination.RBE
private static final class RedundantBranchElimination.RBE
Field Summary | |
---|---|
private static boolean |
DEBUG
|
Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
---|
container |
Constructor Summary | |
---|---|
private |
RedundantBranchElimination.RBE()
|
Method Summary | |
---|---|
String |
getName()
|
private BasicBlock |
getNotTakenBlock(Instruction s)
Return the basic block that s's block will goto if s is not taken. |
CompilerPhase |
newExecution(IR ir)
Return this instance of this phase. |
void |
perform(IR ir)
Transform to eliminate redundant branches passed on GVNs and dominator information. |
boolean |
printingEnabled(OptOptions options,
boolean before)
Returns true if the phase wants the IR dumped before and/or after it runs. |
private void |
removeCondBranch(BasicBlock source,
Instruction cb,
IR ir,
Instruction di)
Remove cb from source, updating PHI nodes to maintain SSA form. |
private void |
removeUnreachableCode(IR ir)
Remove unreachable code |
private void |
takeCondBranch(BasicBlock source,
Instruction cb,
IR ir)
Transform cb into a GOTO, updating PHI nodes to maintain SSA form. |
Methods inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
---|
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, reportAdditionalStats, setContainer, shouldPerform, verify |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean DEBUG
Constructor Detail |
---|
private RedundantBranchElimination.RBE()
Method Detail |
---|
public String getName()
getName
in class CompilerPhase
public boolean printingEnabled(OptOptions options, boolean before)
CompilerPhase
printingEnabled
in class CompilerPhase
options
- the compiler options for the compilationbefore
- true when invoked before perform, false otherwise.
public CompilerPhase newExecution(IR ir)
newExecution
in class CompilerPhase
ir
- not used
public void perform(IR ir)
perform
in class CompilerPhase
ir
- The IR on which to apply the phaseprivate void removeUnreachableCode(IR ir)
ir
- the IR to optimizeprivate BasicBlock getNotTakenBlock(Instruction s)
private void removeCondBranch(BasicBlock source, Instruction cb, IR ir, Instruction di)
source
- basic block containing cbcb
- conditional branch to removeir
- containing IRdi
- branch that dominates cbprivate void takeCondBranch(BasicBlock source, Instruction cb, IR ir)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |