coins.opt
クラス GlobalVariableTemporalize

java.lang.Object
  |
  +--coins.opt.GlobalVariableTemporalize

public class GlobalVariableTemporalize
extends java.lang.Object

Replace global variables to temporal variable in supprogram.


フィールドの概要
protected  AliasAnal fAliasAnal
          AliasAnal this object refer
protected  int fMinimumUseCountForTemporalize
          Minumum use count for temporalize default value is 2.
protected  SubpDefinition fSubpDef
          FlowResults this object refer
protected  SubpFlow fSubpFlow
          FlowResults this object refer
protected  java.util.Set fValidFunctionSet
          Set of function names that is not modify any global vars.
 
コンストラクタの概要
GlobalVariableTemporalize(SubpDefinition pSubpDef, SubpFlow pSubpFlow, AliasAnal pAliasAnal)
          Construct this object.
 
メソッドの概要
 boolean doBBlock(BBlock pBBlock)
          Replace global variables to temporal variable in basic block
 boolean doSubprogram()
          Replace global variables to temporal variable in subprogram
protected  AliasAnal getAliasAnal()
          Get AliasAnal this object refer.
protected  Debug getDebug()
          Get Debug this object refer.
 int getMinimumUseCountForTemporalize()
          Get minimum use count for temporalize.
protected  RecordAlias getRecordAlias()
          Get RecordAlias this object refer.
protected  SubpDefinition getSubpDef()
          Get SubpDefinition this object refer.
protected  SubpFlow getSubpFlow()
          Get SubpFlow this object refer.
 java.util.Set getValidFunctions()
          Get function names that is not modify any global vars.
protected  void initialize()
          Initialize for replace global variables to temporal variable in supprogram.
 void setMinimumUseCountForTemporalize(int pCount)
          Set minimum use count for temporalize.
 void setValidFunctions(java.util.Set pValidFunctions)
          Set function names that is not modify any global vars.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

fSubpDef

protected final SubpDefinition fSubpDef
FlowResults this object refer


fSubpFlow

protected final SubpFlow fSubpFlow
FlowResults this object refer


fAliasAnal

protected final AliasAnal fAliasAnal
AliasAnal this object refer


fMinimumUseCountForTemporalize

protected int fMinimumUseCountForTemporalize
Minumum use count for temporalize default value is 2.


fValidFunctionSet

protected java.util.Set fValidFunctionSet
Set of function names that is not modify any global vars.

コンストラクタの詳細

GlobalVariableTemporalize

public GlobalVariableTemporalize(SubpDefinition pSubpDef,
                                 SubpFlow pSubpFlow,
                                 AliasAnal pAliasAnal)
Construct this object.

パラメータ:
pSubpDef - Subp definition of adapting global variable temporalize
pSubpFlow - SubpFlow whitch is refered/changed.
pAliasAnal - Alias analysis whitch is refered.
メソッドの詳細

getSubpDef

protected SubpDefinition getSubpDef()
Get SubpDefinition this object refer.

戻り値:
SubpDefinition this object refer

getSubpFlow

protected SubpFlow getSubpFlow()
Get SubpFlow this object refer.

戻り値:
SubpFlow this object refer

getAliasAnal

protected AliasAnal getAliasAnal()
Get AliasAnal this object refer.

戻り値:
AliasAnal this object refer

getRecordAlias

protected RecordAlias getRecordAlias()
Get RecordAlias this object refer.

戻り値:
RecordAlias this object refer

getDebug

protected Debug getDebug()
Get Debug this object refer.

戻り値:
Debug this object refer

getMinimumUseCountForTemporalize

public int getMinimumUseCountForTemporalize()
Get minimum use count for temporalize.

戻り値:
Minimum use count for temporalize

setMinimumUseCountForTemporalize

public void setMinimumUseCountForTemporalize(int pCount)
Set minimum use count for temporalize.

パラメータ:
pCount - minimum use count for temporalize.

getValidFunctions

public java.util.Set getValidFunctions()
Get function names that is not modify any global vars.

戻り値:
Set of function names that is not modify any global vars.

setValidFunctions

public void setValidFunctions(java.util.Set pValidFunctions)
Set function names that is not modify any global vars.

パラメータ:
pValidFunctions - Set of function names that is not modify any global vars.

doSubprogram

public boolean doSubprogram()
Replace global variables to temporal variable in subprogram

戻り値:
true if changed, else false.

doBBlock

public boolean doBBlock(BBlock pBBlock)
Replace global variables to temporal variable in basic block

パラメータ:
pBBlock - BBlock replaceing global variables to temporal variable
戻り値:
true if changed, else false.

initialize

protected void initialize()
Initialize for replace global variables to temporal variable in supprogram.