coins.opt
クラス LoopUnswitching

java.lang.Object
  |
  +--coins.opt.LoopExpansion
        |
        +--coins.opt.LoopUnswitching

public class LoopUnswitching
extends LoopExpansion

title: LoopUnswitching class.

description: If-Expand LoopStmt.


フィールドの概要
 
クラス coins.opt.LoopExpansion から継承したフィールド
fDbgLevel, flowRoot, fMaxAllowableNodesInLoopBody, fNumberOfGeneralRegisters, fOptionMap, fOptions, hirRoot, ioRoot, symRoot
 
コンストラクタの概要
LoopUnswitching(HirRoot phirRoot)
           
 
メソッドの概要
 boolean doSubprogram(SubpDefinition pSubpDef)
          Do Loop-If Expand optimization in subprogram.
protected  boolean isExpansible(ForStmt pForStmt)
          Check ForStmt may be optimized by Loop-if expansion.
protected  void pickUpVariables(ForStmt pForStmt)
          Analize variables in ForStmt contains to get information to doing Loop-If expanding optimization.
protected  boolean removeIfStmt(ForStmt pForStmt)
          Remove IfStmt from pForStmt
 
クラス coins.opt.LoopExpansion から継承したメソッド
calcStatementCount, getArrayVar, getDebug, getMaxAllowableStmtsInLoopBody, getSimpleExp, getSubscriptVar, hasBadElement, isBadElement, setMaxAllowableStmtsInLoopBody
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

LoopUnswitching

public LoopUnswitching(HirRoot phirRoot)
メソッドの詳細

doSubprogram

public boolean doSubprogram(SubpDefinition pSubpDef)
Do Loop-If Expand optimization in subprogram.

定義:
クラス LoopExpansion 内の doSubprogram
パラメータ:
pSubpDef - SubpDefinition to do optimization.
戻り値:
true if optimized, false if else.

isExpansible

protected boolean isExpansible(ForStmt pForStmt)
Check ForStmt may be optimized by Loop-if expansion.

パラメータ:
pForStmt -
戻り値:
true pForStmt may be optimized by Loop-if expansion. false pForStmt is not optimized by Loop-if expansion.

pickUpVariables

protected void pickUpVariables(ForStmt pForStmt)
Analize variables in ForStmt contains to get information to doing Loop-If expanding optimization.

パラメータ:
pForStmt - ForStmt to analize.

removeIfStmt

protected boolean removeIfStmt(ForStmt pForStmt)
Remove IfStmt from pForStmt

パラメータ:
pForStmt - ForStmt object.
戻り値:
true if optimized, false if else.