coins.opt
クラス CommonSubexpElim
java.lang.Object
|
+--coins.opt.CommonSubexpElim
- 直系の既知のサブクラス:
- CommonSubexpElimHir
- public abstract class CommonSubexpElim
- extends java.lang.Object
Common subexpression elimination basic logic class.
メソッドの概要 |
boolean |
doBBlockLocal(BBlock pBBlock)
Performs the common subexpression elimination within the given BBlock. |
boolean |
doBBlockLocal(SubpFlow pSubpFlow)
Performs the common subexpression elimination within each BBlock for the given SubpFlow. |
(パッケージプライベート) abstract HIR |
eliminateComplex(HIR pCompoundNode,
HIR pPrevCompoundNode,
SetRefRepr pPrevCalcSetRefRepr,
SetRefReprList pSetRefReprs,
java.util.Map pCompoundToNodeAndSetRefRepr,
java.util.Map ContainsMap)
|
(パッケージプライベート) abstract HIR |
eliminateSimple(HIR pCompoundNode,
HIR pVarNode,
SubpFlow pSubpFlow,
java.util.Set pModSyms,
boolean pMod)
|
(パッケージプライベート) abstract java.util.Set |
operandSet(java.lang.Object o)
|
(パッケージプライベート) abstract void |
registerUseSyms(HIR pSubtree,
java.util.Map pContainsMap,
java.lang.Object pCompound)
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
flowRoot
public final FlowRoot flowRoot
symRoot
public final SymRoot symRoot
sym
public final Sym sym
fSubpFlow
public final SubpFlow fSubpFlow
fFunctionsWithoutSideEffect
protected java.util.Set fFunctionsWithoutSideEffect
fDbgLevel
protected int fDbgLevel
CommonSubexpElim
public CommonSubexpElim(FlowRoot pFlowRoot)
doBBlockLocal
public boolean doBBlockLocal(SubpFlow pSubpFlow)
- Performs the common subexpression elimination within each BBlock for the given SubpFlow. Inter-BBlock data flow is not considered (it is assumed no flow exists between BBlocks).
- 戻り値:
- true if the subprogram changed (optimized).
doBBlockLocal
public boolean doBBlockLocal(BBlock pBBlock)
- Performs the common subexpression elimination within the given BBlock.
- 戻り値:
- true if the underlying IR has changed (optimized).
operandSet
abstract java.util.Set operandSet(java.lang.Object o)
eliminateSimple
abstract HIR eliminateSimple(HIR pCompoundNode,
HIR pVarNode,
SubpFlow pSubpFlow,
java.util.Set pModSyms,
boolean pMod)
eliminateComplex
abstract HIR eliminateComplex(HIR pCompoundNode,
HIR pPrevCompoundNode,
SetRefRepr pPrevCalcSetRefRepr,
SetRefReprList pSetRefReprs,
java.util.Map pCompoundToNodeAndSetRefRepr,
java.util.Map ContainsMap)
registerUseSyms
abstract void registerUseSyms(HIR pSubtree,
java.util.Map pContainsMap,
java.lang.Object pCompound)