|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.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 CompilerPhaseoptions - the compiler options for the compilationbefore - true when invoked before perform, false otherwise.
public CompilerPhase newExecution(IR ir)
newExecution in class CompilerPhaseir - not used
public void perform(IR ir)
perform in class CompilerPhaseir - 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 cb
private void takeCondBranch(BasicBlock source,
Instruction cb,
IR ir)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||