coins.opt
クラス CommonSubexpElimHir

java.lang.Object
  |
  +--coins.opt.CommonSubexpElim
        |
        +--coins.opt.CommonSubexpElimHir
直系の既知のサブクラス:
CommonSubexpElimHirE

public class CommonSubexpElimHir
extends CommonSubexpElim

This class performs common subexpresssion elimination operations that are specific to HIR.


フィールドの概要
protected  java.util.Map fGlobalExpTempMap
          fGlobalExpTempMap key: ExpId, value: Global mapping (within a subprogram) of ExpId and temporal variable used to replace the corresponding expression.
protected  java.util.Map fGlobalTempExpMap
          fGlobalTempExpMap key: Temporal variable, value: Global mapping (within a subprogram) of temporal variable and ExpId used to replace the corresponding expression.
 HIR hir
           
 
クラス coins.opt.CommonSubexpElim から継承したフィールド
fDbgLevel, fFunctionsWithoutSideEffect, flowRoot, fSubpFlow, sym, symRoot
 
コンストラクタの概要
CommonSubexpElimHir(FlowRoot pFlowRoot)
           
 
メソッドの概要
(パッケージプライベート)  HIR eliminateComplex(HIR pCompoundNode, HIR pPrevCompoundNode, SetRefRepr pPrevCalcSetRefRepr, SetRefReprList pSetRefReprs, java.util.Map pCompoundToNodeAndSetRefRepr, java.util.Map pContainsMap)
           
(パッケージプライベート)  HIR eliminateSimple(HIR pCompoundNode, HIR pVarNode, SubpFlow pSubpFlow, java.util.Set pModSyms, boolean pMod)
           
(パッケージプライベート)  java.util.Set operandSet(java.lang.Object o)
           
 void recordTempExpCorrespondence(Var pTempVar, Exp pExp)
           
protected  void registerUseSyms(HIR pSubtree, java.util.Map pContainsMap, java.lang.Object pCompound)
           
(パッケージプライベート)  void reregisterSubexps(java.lang.Object pCompound, SetRefRepr pSetRefRepr, java.util.Map pCompoundToNodeAndSetRefRepr)
           
 
クラス coins.opt.CommonSubexpElim から継承したメソッド
doBBlockLocal, doBBlockLocal
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

hir

public final HIR hir

fGlobalExpTempMap

protected java.util.Map fGlobalExpTempMap
fGlobalExpTempMap key: ExpId, value: Global mapping (within a subprogram) of ExpId and temporal variable used to replace the corresponding expression. This is used for common subexpression elimination invoked by partial redundancy elimination.


fGlobalTempExpMap

protected java.util.Map fGlobalTempExpMap
fGlobalTempExpMap key: Temporal variable, value: Global mapping (within a subprogram) of temporal variable and ExpId used to replace the corresponding expression. This is used for common subexpression elimination invoked by partial redundancy elimination.

コンストラクタの詳細

CommonSubexpElimHir

public CommonSubexpElimHir(FlowRoot pFlowRoot)
メソッドの詳細

eliminateSimple

HIR eliminateSimple(HIR pCompoundNode,
                    HIR pVarNode,
                    SubpFlow pSubpFlow,
                    java.util.Set pModSyms,
                    boolean pMod)
定義:
クラス CommonSubexpElim 内の eliminateSimple

eliminateComplex

HIR eliminateComplex(HIR pCompoundNode,
                     HIR pPrevCompoundNode,
                     SetRefRepr pPrevCalcSetRefRepr,
                     SetRefReprList pSetRefReprs,
                     java.util.Map pCompoundToNodeAndSetRefRepr,
                     java.util.Map pContainsMap)
定義:
クラス CommonSubexpElim 内の eliminateComplex

registerUseSyms

protected void registerUseSyms(HIR pSubtree,
                               java.util.Map pContainsMap,
                               java.lang.Object pCompound)
定義:
クラス CommonSubexpElim 内の registerUseSyms

operandSet

java.util.Set operandSet(java.lang.Object o)
定義:
クラス CommonSubexpElim 内の operandSet

reregisterSubexps

void reregisterSubexps(java.lang.Object pCompound,
                       SetRefRepr pSetRefRepr,
                       java.util.Map pCompoundToNodeAndSetRefRepr)

recordTempExpCorrespondence

public void recordTempExpCorrespondence(Var pTempVar,
                                        Exp pExp)