coins.flow
クラス SubpFlowImpl

java.lang.Object
  |
  +--coins.flow.SubpFlowImpl
すべての実装インタフェース:
SubpFlow
直系の既知のサブクラス:
HirSubpFlowImpl

public abstract class SubpFlowImpl
extends java.lang.Object
implements SubpFlow

SubpFlowImpl class Subprogram flow analysis class. Fields and methods are common between HIR and LIR.


フィールドの概要
protected  SubpFlow fAflowSubpFlow
           
protected  boolean failed
           
protected  AliasAnal fAlias
           
protected  SetRefReprList[] fArrayOfSetRefReprList
           
protected  int fAssignCount
           
protected  int fBBlockCount
           
protected  java.util.List fBBlockList
           
protected  BBlock[] fBBlockOfIR
           
protected  java.util.Map fBBlockOfLabel
           
protected  java.util.ArrayList fBBlockTable
           
protected  int fBBlockVectorBitCount
           
protected  int fBBlockVectorWordCount
           
protected  int fCallCount
           
protected  int fComplexity
           
protected  int[] fComputedFlag
           
 int fDbgLevel
           
protected  int fDefCount
           
protected  int[] fDefIndex
           
protected  java.util.Set fDefinedSyms
           
protected  java.util.List[] fDefNodeListOfSym
           
protected  IR[] fDefPoint
           
protected  int fDefRefCount
           
protected  int[] fDefRefIndex
           
protected  IR[] fDefRefPoint
           
protected  DefUseList fDefUseExhaustiveList
           
protected  DefUseList fDefUseList
           
protected  int fDefVectorBitCount
           
protected  int fDefVectorWordCount
           
protected  java.util.List fDfoList
           
protected  BBlockVector[] fDom
           
protected  java.util.List[] fDomList
           
protected  BBlock fEntryBBlock
           
protected  BBlock fExitBBlock
           
protected  java.util.List fExpIdList
           
protected  int fExpIdNumber
           
protected  ExpId[] fExpIdTable
           
protected  int fExpVectorBitCount
           
protected  int fExpVectorWordCount
           
protected  FlowAdapter fFlowAdapter
           
protected  FlowAnalSym[] fFlowAnalSymTable
           
protected  IR[] fFlowIrLink
           
protected  int fFlowIrLinkSize
           
protected  java.util.Set fGlobalSymsUsed
           
 boolean fHirAnalExtended
           
protected  java.util.List fInverseDfoList
           
protected  int fIrIndexMax
           
protected  int fIrIndexMin
           
 boolean fIteratorInitiated
           
protected  java.util.List fListOfBBlocksFromEntry
           
protected  java.util.List fListOfBBlocksFromExit
           
 Flow flow
           
 FlowRoot flowRoot
           
protected  java.util.Set fMaximalCompoundVars
           
 int fMaxIndexOfCopiedNode
           
 java.util.Map fMultipleSetRef
           
protected  int fNodeCount
           
protected  int fNodeCountLim1
           
protected  int fNodeCountLim2
           
protected  int fPointVectorBitCount
           
protected  int fPointVectorWordCount
           
protected  BBlockVector[] fPostDom
           
protected  java.util.List[] fPostDomList
           
protected  BBlock fPrevBBlockInSearch
           
protected  RecordAlias fRecordAlias
           
protected  java.util.Set fSetOfAddressTakenVariables
           
protected  java.util.Set fSetOfGlobalVariables
           
protected  SetRefRepr[] fSetRefReprTable
           
protected  SubpDefinition fSubpDefinition
           
 java.util.Set fSubtreesContainingCall
           
 java.util.List fSubtreesCopied
           
protected  int fSymCountLim1
           
protected  int fSymCountLim2
           
protected  int fSymExpCount
           
protected  FlowAnalSym[] fSymIndexTable
           
protected  java.util.Map fTempExpCorrespondence
           
protected  UseDefList fUseDefExhaustiveList
           
protected  UseDefList fUseDefList
           
protected  int fUsedGlobalSymCount
           
protected  int fUsedSymCount
           
protected  java.util.Set fUsedSymSet
           
protected  java.util.List[] fUseNodeListOfSym
           
 boolean[] hasCall
           
 boolean hasCallInSubp
           
 boolean[] hasPointerAssign
           
 boolean[] hasStructUnion
           
 boolean[] hasUsePointer
           
 HirRoot hirRoot
           
 IoRoot ioRoot
           
 SymRoot symRoot
           
 
インタフェース coins.flow.SubpFlow から継承したフィールド
CF_BBLOCK, CF_CFG, CF_DOMINATOR, CF_INDEXED, CF_POSTDOMINATOR, DF_AVAILIN, DF_AVAILOUT, DF_DEF, DF_DEFIN, DF_DEFINED, DF_DEFOUT, DF_DEFUSE, DF_DEFUSEEXHAUST, DF_DEFUSELIST, DF_EGEN, DF_EKILL, DF_EXPID, DF_EXPOSED, DF_KILL, DF_LIVEIN, DF_LIVEOUT, DF_MAX, DF_MIN, DF_REACH, DF_SETREFREPR, DF_TRSNSPARENT, DF_USED, DF_USEDEFEXHAUST, DF_USEDEFLIST, FLAG_EXPID_LHS
 
コンストラクタの概要
SubpFlowImpl()
           
SubpFlowImpl(FlowRoot pFlowRoot, SubpDefinition pSubpDefinition)
           
 
メソッドの概要
 void addDefNode(FlowAnalSym pSym, IR pDefNode)
           
 void addUseNode(FlowAnalSym pSym, IR pUseNode)
           
 void allocateBBlockOfIR()
           
 BBlock bblock()
          Create dummy basic block.
 BBlock bblock(LabeledStmt pLabeledStmt)
          Create new basic block corresponding to the HIR labeled statement pLabeledStmt.
 BBlockNodeIterator bblockNodeIterator(BBlock pBBlock)
          bblockNodeItrator Get iterator that traverse all nodes of the basic block pBBlock.
 BBlockStmtIterator bblockStmtIterator(BBlockHir pBBlock)
          bblockStmtIterator get iterator to traverse statements in the basic block pBBlock.
 BBlockSubtreeIterator bblockSubtreeIterator(BBlock pBBlock)
          bblockSubtreeItrator Get iterator that traverse top subtrees of the basic block pBBlock.
 BBlockVector bblockVector()
           
 java.util.Iterator cfgFromExitIterator()
          cfgFromExitIterator Traverse basic blocks in CFG (control flow graph) in inverse depth first order from the exit BBlock.
 java.util.Iterator cfgIterator()
          cfgIterator Traverse basic blocks in CFG (control flow graph) in depth first order.
 java.util.List changeListOfFlowBBlocksToListOfAflowBBlocks(java.util.List pListOfFlowBBlocks)
           
 void clearControlFlow()
          Clear all control/data flow analysis information.
 void clearDataFlow()
          Clear data flow information.
 void computeBBlockSetRefReprs()
           
 java.util.Set computeSetOfAddressTakenVariables()
          computeSetOfAddressTakenVariables Compute the set of variables whose address is taken (e.g.
 void computeSetOfAddressTakenVariables(HIR pHir, java.util.Set pSet, boolean pAddrOperand)
          computeSetOfAddressTakenVariables Compute the set of variables whose address is taken (e.g.
 java.util.Set computeSetOfGlobalVariables()
          computeSetOfGlobalVariables Compute the set of global variables and record it in fSetOfGlobalVariables.
 void copyFlowAnalData(SubpFlow pSubpFlow)
           
 void correlateBBlockAndIR()
           
 DefVector defVector()
           
 DefVectorIterator defVectorIterator(DefVector pDefVector)
           
 ExpVector expVector()
           
 ExpVectorIterator expVectorIterator(ExpVector pExpVector)
           
 FlowAnalSymVector flowAnalSymVector()
           
 java.lang.String generateExpIdName()
          generateExpIdName Generate a name of expression identifier _xId1, _xId2, _xId3, ...
 SubpFlow getAflowSubpFlow(FlowResults pFlowResults)
           
 int getAssignCount()
           
 BBlock getBBlock(HIR pHir)
           
 BBlock getBBlock(int pBlockNumber)
          getBBlock Get the basic block whose block number is pBlockNumber.
 BBlock getBBlock0(Label pLabel)
           
 BBlock getBBlockForLabel(Label pLabel)
           
 BBlock getBBlockFromNodeIndex(int pNodeIndex)
           
 java.util.List getBBlockList()
          Returns the List of BBlocks in the flow excluding null and 0-numbered BBlock.
 BBlock getBBlockOfIR(int pIndex)
           
 java.util.ArrayList getBBlockTable()
          Get BBlockTable of this subprogram.
 int getBBlockVectorBitCount()
           
 int getBBlockVectorWordCount()
           
 int getCallCount()
           
 int getComplexityLevel()
          Get the complexity level of this subprogram. 1: simple.
 int getDefCount()
           
 int getDefIndex(int pNodeIndex)
          Get def-index from node index.
 java.util.Set getDefinedSyms()
          getDefinedSyms Set of all symbols whose value is set in this subprogram.
 java.util.List getDefNodeList(FlowAnalSym pSym)
           
 IR getDefPoint(int pIndex)
          Get IR node from def-index
 DefUseList getDefUseExhaustiveList()
           
 DefUseList getDefUseList()
           
 int getDefVectorBitCount()
           
 int getDefVectorWordCount()
           
 java.util.List getDominatorList(BBlock pBBlock)
          Get the list of dominators of pBBlock.
 BBlockVector getDominators(BBlock pBBlock)
          Get BBlockVector representing dominators of pBBlock.
 BBlock getEntryBBlock()
          Get the entry basic block.
 BBlock getExitBBlock()
           
 ExpId getExpId(IR pIr)
           
 ExpId getExpId(IR pIr, int pIndex)
           
 java.util.List getExpIdList()
           
 Exp getExpOfTemp(Var pTempVar)
          Get the expression represented by the temporal variable pTempVar.
 int getExpVectorBitCount()
           
 int getExpVectorWordCount()
           
 FlowAdapter getFlowAdapter()
           
 int getFlowAnalStateLevel()
           
 FlowAnalSym[] getFlowAnalSymTable()
           
 FlowRoot getFlowRoot()
           
 IR getIndexedNode(int pNodeIndex)
           
 FlowAnalSym getIndexedSym(int pSymIndex)
           
 int getIrIndexMax()
           
 int getIrIndexMin()
           
 HIR getLinkedSubtreeOfExpId(ExpId pExpId)
           
 java.util.List getListOfBBlocksFromEntry()
           
 java.util.List getListOfBBlocksFromExit()
           
 DefUseList getListOfDefUseExhaustiveList()
           
 DefUseList getListOfDefUseList()
           
 UseDefList getListOfUseDefExhaustiveList()
           
 UseDefList getListOfUseDefList()
           
 java.util.Set getMaximalCompoundVars()
          Get the set of maximal compound variables.
 int getNumberOfBBlocks()
           
 int getNumberOfDefUsedGlobalSymbols()
           
 int getNumberOfNodes()
           
 int getPointVectorBitCount()
           
 int getPointVectorWordCount()
           
 java.util.List getPostDominatorList(BBlock pBBlock)
          Get the list of post dominators of pBBlock.
 BBlockVector getPostDominators(BBlock pBBlock)
          Get BBlockVector representing post dominators of pBBlock.
 BBlock getPrevBBlockInSearch()
           
 java.util.List getReachableBBlocks()
          Get list of BBlocks reachable from entry BBLock.
 RecordAlias getRecordAlias()
          If returned value is not null, then alias is considered in data flow analysis.
 IR getRefPoint(int pIndex)
          Get IR node from ref-index
 boolean getRestructureFlag()
           
 SetRefReprList getSetRefReprList(BBlock pBBlock)
           
 SetRefRepr getSetRefReprOfIR(IR pIR)
           
 SubpDefinition getSubpDefinition()
           
 Subp getSubpSym()
           
 int getSymExpCount()
           
 UseDefList getUseDefExhaustiveList()
           
 UseDefList getUseDefList()
           
 int getUsedSymCount()
           
 java.util.Set getUsedSyms()
          getUsed Set of all symbols whose value is used in this subprogram.
 java.util.List geUseNodeList(FlowAnalSym pSym)
           
 boolean hasCallUnder(IR pIR)
          Returns true if the given IR node has as its decendant a call node.
 void initiateControlFlowAnal(SubpDefinition pSubpDefinition, int pIndexMin, int pIndexMax)
           
 void initiateDataFlowAnal(SubpDefinition pSubpDefinition)
          initiateDataFlowAnal Initiate bit vectors, and initiate fields in SetRefRepls, etc.
 boolean isComputed(int pItemIndex)
          Test if a control/data flow item is already computed or not.
 boolean isComputedOrUnderComputation(int pItemIndex)
           
 boolean isFailed()
           
 PointVector pointVector()
           
 PointVectorIterator pointVectorIterator(PointVector pPointVector)
           
(パッケージプライベート)  void printComputedFlag()
           
 void printExpIdAndIrCorrespondence()
           
 void recordBBlock(BBlock pBlock, int pBlockNumber)
           
 int recordDefPoint(IR pIR)
           
 int recordDefRefPoint(IR pIR)
           
protected  int recordSym(FlowAnalSym pSym)
           
 void resetComputedFlag(int pItemIndex)
          Reset computed flag for all items whose item numbers are greater or equal to pItemIndex.
 void resetControlAndDataFlowInformation()
          Clear all control/data flow analysis information after executing setIndexNumberTOAllNodes.
 void resetExpId()
           
 void resetFlowSymLink(SymTable pSymTable)
          resetFlowSymLink Reset all flow analysis information of symbols in pSymTable and its descendents.
 void resetFlowSymLinkForRecordedSym()
          linkLirWithDataFlowForSubp Reset links between flow information and LIR nodes, symbols, etc.
 void resetFlowSymLinkForTable(SymTable pSymTable)
           
 void resetGlobalFlowSymLink()
          resetGlobalFlowSymLink Reset all flow analysis information of symbols that are contained in ancestor symbol table (symTableRoot, etc) without traversing its descendents.
 void setBBlock(HIR pHir, BBlock pBBlock)
           
 void setBBlock(Label pLabel, BBlock pBBlock)
           
 void setBBlockOfIR(BBlock pBBlock, int pIndex)
           
 void setBBlockVectorBitCount(int pBitCount)
           
 void setComputedFlag(int pItemIndex)
          Set the control/data flow item to be computed as true.
 void setDefVectorBitCount(int pBitCount)
           
 void setEntryBBlock(BBlock pBlock)
           
 void setExitBBlock(BBlock pBlock)
           
 void setExpId(IR pIr, ExpId pExpId)
           
 void setExpOfTemp(Var pTempVar, Exp pExp)
          Record pExp as the expression represented by the temporal variable pTempVar.
 void setExpVectorBitCount(int pBitCount)
           
 void setFlowAnalStateLevel(int pState)
           
 void setNumberOfNodes(int pCount)
           
 java.util.Set setOfAddressTakenVariables()
           
 java.util.Set setOfGlobalVariables()
           
 void setPointVectorBitCount(int pBitCount)
           
 void setPrevBBlockInSearch(BBlock pPrev)
          setPrevBBlockInSearch getPrevBBlockInSearch Methods used in linking basic blocks in depth first order, etc.
 void setRecordAlias(RecordAlias pRecordAlias)
          Record a RecordAlias instance in order to indicate that alias is considered in data flow analysis.
 void setRestructureFlag()
           
 void setSetRefReprList(BBlock pBBlock, SetRefReprList pSetRefReprList)
           
 void setSetRefReprOfIR(SetRefRepr pSetRefRepr, IR pIR)
           
 void setUnderComputation(int pItemIndex)
          Set computed flag for the item indicated by pItemIndex.
 java.util.List sortExpIdCollection(java.util.Collection pExpIdCollection)
          Sort the list or set of FLowAnalSyms (pExpIdCollection) so that non-ExpId symbols come first and then ExpIds sorted in the ascending order of suffix (nn of of the name of ExpId _xIdnn).
 java.util.Set subtreesContainingCall()
           
 void summarize()
          Compute fDefinedSyms showing symbols used in this subprogram ??
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース coins.flow.SubpFlow から継承したメソッド
hasCall
 

フィールドの詳細

flowRoot

public final FlowRoot flowRoot

ioRoot

public final IoRoot ioRoot

symRoot

public final SymRoot symRoot

hirRoot

public final HirRoot hirRoot

flow

public Flow flow

fUsedGlobalSymCount

protected int fUsedGlobalSymCount

fPointVectorBitCount

protected int fPointVectorBitCount

fPointVectorWordCount

protected int fPointVectorWordCount

fExpVectorBitCount

protected int fExpVectorBitCount

fExpVectorWordCount

protected int fExpVectorWordCount

fDefVectorBitCount

protected int fDefVectorBitCount

fDefVectorWordCount

protected int fDefVectorWordCount

fBBlockVectorBitCount

protected int fBBlockVectorBitCount

fBBlockVectorWordCount

protected int fBBlockVectorWordCount

fSubpDefinition

protected SubpDefinition fSubpDefinition

fPrevBBlockInSearch

protected BBlock fPrevBBlockInSearch

fNodeCount

protected int fNodeCount

fFlowIrLink

protected IR[] fFlowIrLink

fFlowIrLinkSize

protected int fFlowIrLinkSize

fBBlockCount

protected int fBBlockCount

fUsedSymCount

protected int fUsedSymCount

fSymExpCount

protected int fSymExpCount

fDefRefCount

protected int fDefRefCount

fDefCount

protected int fDefCount

fEntryBBlock

protected BBlock fEntryBBlock

fAssignCount

protected int fAssignCount

fCallCount

protected int fCallCount

fExitBBlock

protected BBlock fExitBBlock

fBBlockTable

protected java.util.ArrayList fBBlockTable

fBBlockList

protected java.util.List fBBlockList

fListOfBBlocksFromEntry

protected java.util.List fListOfBBlocksFromEntry

fListOfBBlocksFromExit

protected java.util.List fListOfBBlocksFromExit

fUsedSymSet

protected java.util.Set fUsedSymSet

fSymIndexTable

protected FlowAnalSym[] fSymIndexTable

fDfoList

protected java.util.List fDfoList

fInverseDfoList

protected java.util.List fInverseDfoList

fExpIdNumber

protected int fExpIdNumber

fDefinedSyms

protected java.util.Set fDefinedSyms

fFlowAnalSymTable

protected FlowAnalSym[] fFlowAnalSymTable

fBBlockOfIR

protected BBlock[] fBBlockOfIR

fDefRefIndex

protected int[] fDefRefIndex

fDefIndex

protected int[] fDefIndex

fBBlockOfLabel

protected java.util.Map fBBlockOfLabel

fExpIdList

protected java.util.List fExpIdList

fMaximalCompoundVars

protected java.util.Set fMaximalCompoundVars

fGlobalSymsUsed

protected java.util.Set fGlobalSymsUsed

fDefUseList

protected DefUseList fDefUseList

fUseDefList

protected UseDefList fUseDefList

fDefUseExhaustiveList

protected DefUseList fDefUseExhaustiveList

fUseDefExhaustiveList

protected UseDefList fUseDefExhaustiveList

fDefNodeListOfSym

protected java.util.List[] fDefNodeListOfSym

fUseNodeListOfSym

protected java.util.List[] fUseNodeListOfSym

fHirAnalExtended

public boolean fHirAnalExtended

fSetRefReprTable

protected SetRefRepr[] fSetRefReprTable

fIrIndexMin

protected int fIrIndexMin

fIrIndexMax

protected int fIrIndexMax

fExpIdTable

protected ExpId[] fExpIdTable

fMaxIndexOfCopiedNode

public int fMaxIndexOfCopiedNode

fSubtreesCopied

public java.util.List fSubtreesCopied

fSetOfGlobalVariables

protected java.util.Set fSetOfGlobalVariables

fSetOfAddressTakenVariables

protected java.util.Set fSetOfAddressTakenVariables

fTempExpCorrespondence

protected java.util.Map fTempExpCorrespondence

fAlias

protected AliasAnal fAlias

fRecordAlias

protected RecordAlias fRecordAlias

fDefRefPoint

protected IR[] fDefRefPoint

fDefPoint

protected IR[] fDefPoint

hasCall

public boolean[] hasCall

hasCallInSubp

public boolean hasCallInSubp

hasUsePointer

public boolean[] hasUsePointer

hasStructUnion

public boolean[] hasStructUnion

hasPointerAssign

public boolean[] hasPointerAssign

fArrayOfSetRefReprList

protected SetRefReprList[] fArrayOfSetRefReprList

fDom

protected BBlockVector[] fDom

fPostDom

protected BBlockVector[] fPostDom

fDomList

protected java.util.List[] fDomList

fPostDomList

protected java.util.List[] fPostDomList

fSubtreesContainingCall

public java.util.Set fSubtreesContainingCall

fComputedFlag

protected int[] fComputedFlag

fDbgLevel

public final int fDbgLevel

fComplexity

protected int fComplexity

fNodeCountLim1

protected final int fNodeCountLim1
関連項目:
定数フィールド値

fNodeCountLim2

protected final int fNodeCountLim2
関連項目:
定数フィールド値

fSymCountLim1

protected final int fSymCountLim1
関連項目:
定数フィールド値

fSymCountLim2

protected final int fSymCountLim2
関連項目:
定数フィールド値

fFlowAdapter

protected FlowAdapter fFlowAdapter

fIteratorInitiated

public boolean fIteratorInitiated

fMultipleSetRef

public java.util.Map fMultipleSetRef

failed

protected boolean failed

fAflowSubpFlow

protected SubpFlow fAflowSubpFlow
コンストラクタの詳細

SubpFlowImpl

public SubpFlowImpl(FlowRoot pFlowRoot,
                    SubpDefinition pSubpDefinition)

SubpFlowImpl

public SubpFlowImpl()
メソッドの詳細

getEntryBBlock

public BBlock getEntryBBlock()
インタフェース SubpFlow の記述:
Get the entry basic block. The entry BBlock is started by a statement having entry label (sually has block number 1.

定義:
インタフェース SubpFlow 内の getEntryBBlock
戻り値:
the entry BBlock

setEntryBBlock

public void setEntryBBlock(BBlock pBlock)
定義:
インタフェース SubpFlow 内の setEntryBBlock

getExitBBlock

public BBlock getExitBBlock()
定義:
インタフェース SubpFlow 内の getExitBBlock

setExitBBlock

public void setExitBBlock(BBlock pBlock)
定義:
インタフェース SubpFlow 内の setExitBBlock

copyFlowAnalData

public void copyFlowAnalData(SubpFlow pSubpFlow)
定義:
インタフェース SubpFlow 内の copyFlowAnalData

bblock

public BBlock bblock(LabeledStmt pLabeledStmt)
インタフェース SubpFlow の記述:
Create new basic block corresponding to the HIR labeled statement pLabeledStmt.

定義:
インタフェース SubpFlow 内の bblock

bblock

public BBlock bblock()
インタフェース SubpFlow の記述:
Create dummy basic block. (see linkHirWithFlowForSubp)

定義:
インタフェース SubpFlow 内の bblock

expVector

public ExpVector expVector()
定義:
インタフェース SubpFlow 内の expVector

pointVector

public PointVector pointVector()
定義:
インタフェース SubpFlow 内の pointVector

defVector

public DefVector defVector()
定義:
インタフェース SubpFlow 内の defVector

resetFlowSymLinkForRecordedSym

public void resetFlowSymLinkForRecordedSym()
インタフェース SubpFlow の記述:
linkLirWithDataFlowForSubp Reset links between flow information and LIR nodes, symbols, etc. Set index to each LIR node in the subprogram under analysis. Assign index number to symbols actually used in the current subprogram. Create basic blocks and make link between BBlock and LIR node and create FlowIrLink table showing the link to LIR node.

定義:
インタフェース SubpFlow 内の resetFlowSymLinkForRecordedSym

resetFlowSymLink

public void resetFlowSymLink(SymTable pSymTable)
インタフェース SubpFlow の記述:
resetFlowSymLink Reset all flow analysis information of symbols in pSymTable and its descendents. Symbols to be reset are those ones that are recorded as accessed symbols (getAccessedSyms()) in a subprogram, and so, this method is effective to reset the effect of previous flow analysis for a subprogram. For global symbols, use resetGlobalFlowSymLink().

定義:
インタフェース SubpFlow 内の resetFlowSymLink

resetGlobalFlowSymLink

public void resetGlobalFlowSymLink()
インタフェース SubpFlow の記述:
resetGlobalFlowSymLink Reset all flow analysis information of symbols that are contained in ancestor symbol table (symTableRoot, etc) without traversing its descendents.

定義:
インタフェース SubpFlow 内の resetGlobalFlowSymLink

resetFlowSymLinkForTable

public void resetFlowSymLinkForTable(SymTable pSymTable)

getBBlock

public BBlock getBBlock(int pBlockNumber)
インタフェース SubpFlow の記述:
getBBlock Get the basic block whose block number is pBlockNumber.

定義:
インタフェース SubpFlow 内の getBBlock
パラメータ:
pBlockNumber - block number of the basic block to be got.
戻り値:
basic block that has pBlockNumber as its block number. If the BBlock having pBlocknumber is deleted (has IS_DELETED flag) then return null.

recordBBlock

public void recordBBlock(BBlock pBlock,
                         int pBlockNumber)
定義:
インタフェース SubpFlow 内の recordBBlock

getIndexedSym

public FlowAnalSym getIndexedSym(int pSymIndex)
定義:
インタフェース SubpFlow 内の getIndexedSym

recordSym

protected int recordSym(FlowAnalSym pSym)

getIndexedNode

public IR getIndexedNode(int pNodeIndex)
定義:
インタフェース SubpFlow 内の getIndexedNode

getBBlockFromNodeIndex

public BBlock getBBlockFromNodeIndex(int pNodeIndex)
定義:
インタフェース SubpFlow 内の getBBlockFromNodeIndex

getNumberOfBBlocks

public int getNumberOfBBlocks()
定義:
インタフェース SubpFlow 内の getNumberOfBBlocks

getNumberOfNodes

public int getNumberOfNodes()
定義:
インタフェース SubpFlow 内の getNumberOfNodes

setNumberOfNodes

public void setNumberOfNodes(int pCount)
定義:
インタフェース SubpFlow 内の setNumberOfNodes

getSymExpCount

public int getSymExpCount()
定義:
インタフェース SubpFlow 内の getSymExpCount

getUsedSymCount

public int getUsedSymCount()
定義:
インタフェース SubpFlow 内の getUsedSymCount

generateExpIdName

public java.lang.String generateExpIdName()
インタフェース SubpFlow の記述:
generateExpIdName Generate a name of expression identifier _xId1, _xId2, _xId3, ... using SymExpCount as trailing index. If a symbol having the name is not found in symTableCurrent, then it is returned, else if the name is ExpId, then it is reused after calling resetFlowAnalInf(). If the symbol other than ExpId is found, then SymExpCount is incremented and new name is generated. The SymExpCount is incremented when a new name is generated.

定義:
インタフェース SubpFlow 内の generateExpIdName
戻り値:
the name with SymExpCount as the trailing index.

getSubpDefinition

public SubpDefinition getSubpDefinition()
定義:
インタフェース SubpFlow 内の getSubpDefinition

getSubpSym

public Subp getSubpSym()
定義:
インタフェース SubpFlow 内の getSubpSym

getNumberOfDefUsedGlobalSymbols

public int getNumberOfDefUsedGlobalSymbols()
定義:
インタフェース SubpFlow 内の getNumberOfDefUsedGlobalSymbols

getPointVectorBitCount

public int getPointVectorBitCount()
定義:
インタフェース SubpFlow 内の getPointVectorBitCount

setPointVectorBitCount

public void setPointVectorBitCount(int pBitCount)
定義:
インタフェース SubpFlow 内の setPointVectorBitCount

getPointVectorWordCount

public int getPointVectorWordCount()
定義:
インタフェース SubpFlow 内の getPointVectorWordCount

getExpVectorBitCount

public int getExpVectorBitCount()
定義:
インタフェース SubpFlow 内の getExpVectorBitCount

setExpVectorBitCount

public void setExpVectorBitCount(int pBitCount)
定義:
インタフェース SubpFlow 内の setExpVectorBitCount

getExpVectorWordCount

public int getExpVectorWordCount()
定義:
インタフェース SubpFlow 内の getExpVectorWordCount

getDefVectorBitCount

public int getDefVectorBitCount()
定義:
インタフェース SubpFlow 内の getDefVectorBitCount

setDefVectorBitCount

public void setDefVectorBitCount(int pBitCount)
定義:
インタフェース SubpFlow 内の setDefVectorBitCount

getDefVectorWordCount

public int getDefVectorWordCount()
定義:
インタフェース SubpFlow 内の getDefVectorWordCount

getBBlockVectorBitCount

public int getBBlockVectorBitCount()
定義:
インタフェース SubpFlow 内の getBBlockVectorBitCount

setBBlockVectorBitCount

public void setBBlockVectorBitCount(int pBitCount)
定義:
インタフェース SubpFlow 内の setBBlockVectorBitCount

getBBlockVectorWordCount

public int getBBlockVectorWordCount()
定義:
インタフェース SubpFlow 内の getBBlockVectorWordCount

setPrevBBlockInSearch

public void setPrevBBlockInSearch(BBlock pPrev)
インタフェース SubpFlow の記述:
setPrevBBlockInSearch getPrevBBlockInSearch Methods used in linking basic blocks in depth first order, etc.

定義:
インタフェース SubpFlow 内の setPrevBBlockInSearch
パラメータ:
pPrev - previous BBlock from which this BBlock is to be linked.

getPrevBBlockInSearch

public BBlock getPrevBBlockInSearch()
定義:
インタフェース SubpFlow 内の getPrevBBlockInSearch

getDefinedSyms

public java.util.Set getDefinedSyms()
インタフェース SubpFlow の記述:
getDefinedSyms Set of all symbols whose value is set in this subprogram.

定義:
インタフェース SubpFlow 内の getDefinedSyms

getUsedSyms

public java.util.Set getUsedSyms()
インタフェース SubpFlow の記述:
getUsed Set of all symbols whose value is used in this subprogram.

定義:
インタフェース SubpFlow 内の getUsedSyms

summarize

public void summarize()
Compute fDefinedSyms showing symbols used in this subprogram ?? and print if dbgLevel >= 4. (fDefinedSyms can be get from fUsedSymSet without recomputing.) ??

定義:
インタフェース SubpFlow 内の summarize

cfgIterator

public java.util.Iterator cfgIterator()
cfgIterator Traverse basic blocks in CFG (control flow graph) in depth first order. Available methods: next(), hasNext().

定義:
インタフェース SubpFlow 内の cfgIterator

cfgFromExitIterator

public java.util.Iterator cfgFromExitIterator()
インタフェース SubpFlow の記述:
cfgFromExitIterator Traverse basic blocks in CFG (control flow graph) in inverse depth first order from the exit BBlock. Available methods: next(), hasNext().

定義:
インタフェース SubpFlow 内の cfgFromExitIterator

pointVectorIterator

public PointVectorIterator pointVectorIterator(PointVector pPointVector)
定義:
インタフェース SubpFlow 内の pointVectorIterator

defVectorIterator

public DefVectorIterator defVectorIterator(DefVector pDefVector)
定義:
インタフェース SubpFlow 内の defVectorIterator

expVectorIterator

public ExpVectorIterator expVectorIterator(ExpVector pExpVector)
定義:
インタフェース SubpFlow 内の expVectorIterator

bblockSubtreeIterator

public BBlockSubtreeIterator bblockSubtreeIterator(BBlock pBBlock)
インタフェース SubpFlow の記述:
bblockSubtreeItrator Get iterator that traverse top subtrees of the basic block pBBlock. For HIR, all top subtrees are to be traversed. For LIR, all LIRTrees are to be traversed. IR tree should not be changed after instanciation of BBlockSubtreeIteratorImpl until all invocations of hasNext() and next() are finished. Traversed top-subtrees are LabeledStmt, AssignStmt, ExpStmt, ReturnStmt, IfStmt, LoopStmt, SwitchStmt Conditional expression in IfStmt and LoopStmt Case-selection expression in SwitchStmt Call subtree (irrespective of contained in ExpStmt or Exp)

定義:
インタフェース SubpFlow 内の bblockSubtreeIterator

bblockStmtIterator

public BBlockStmtIterator bblockStmtIterator(BBlockHir pBBlock)
インタフェース SubpFlow の記述:
bblockStmtIterator get iterator to traverse statements in the basic block pBBlock. IR tree should not be changed after instanciation of BBlockStmtIteratorImpl until all invocations of hasNext() and next() are finished.

定義:
インタフェース SubpFlow 内の bblockStmtIterator

bblockNodeIterator

public BBlockNodeIterator bblockNodeIterator(BBlock pBBlock)
bblockNodeItrator Get iterator that traverse all nodes of the basic block pBBlock.

定義:
インタフェース SubpFlow 内の bblockNodeIterator

getFlowAnalStateLevel

public int getFlowAnalStateLevel()
定義:
インタフェース SubpFlow 内の getFlowAnalStateLevel

setFlowAnalStateLevel

public void setFlowAnalStateLevel(int pState)
定義:
インタフェース SubpFlow 内の setFlowAnalStateLevel

getBBlockTable

public java.util.ArrayList getBBlockTable()
インタフェース SubpFlow の記述:
Get BBlockTable of this subprogram. Use getBBlockList() instead of this method.

定義:
インタフェース SubpFlow 内の getBBlockTable
戻り値:
BBlockTable

getBBlockList

public java.util.List getBBlockList()
Returns the List of BBlocks in the flow excluding null and 0-numbered BBlock. (Moved from DataFlowImpl.) //##63

定義:
インタフェース SubpFlow 内の getBBlockList
戻り値:
the List of BBlocks in the flow.

getReachableBBlocks

public java.util.List getReachableBBlocks()
インタフェース SubpFlow の記述:
Get list of BBlocks reachable from entry BBLock.

定義:
インタフェース SubpFlow 内の getReachableBBlocks
戻り値:
teh list of reachable BBlocks.

initiateControlFlowAnal

public void initiateControlFlowAnal(SubpDefinition pSubpDefinition,
                                    int pIndexMin,
                                    int pIndexMax)
定義:
インタフェース SubpFlow 内の initiateControlFlowAnal

initiateDataFlowAnal

public void initiateDataFlowAnal(SubpDefinition pSubpDefinition)
インタフェース SubpFlow の記述:
initiateDataFlowAnal Initiate bit vectors, and initiate fields in SetRefRepls, etc.

定義:
インタフェース SubpFlow 内の initiateDataFlowAnal
パラメータ:
pSubpDefinition - definition of subprogram to be analyzed.

getBBlock

public BBlock getBBlock(HIR pHir)
定義:
インタフェース SubpFlow 内の getBBlock

setBBlock

public void setBBlock(HIR pHir,
                      BBlock pBBlock)
定義:
インタフェース SubpFlow 内の setBBlock

getBBlock0

public BBlock getBBlock0(Label pLabel)
定義:
インタフェース SubpFlow 内の getBBlock0

getBBlockForLabel

public BBlock getBBlockForLabel(Label pLabel)
定義:
インタフェース SubpFlow 内の getBBlockForLabel

setBBlock

public void setBBlock(Label pLabel,
                      BBlock pBBlock)
定義:
インタフェース SubpFlow 内の setBBlock

getLinkedSubtreeOfExpId

public HIR getLinkedSubtreeOfExpId(ExpId pExpId)
定義:
インタフェース SubpFlow 内の getLinkedSubtreeOfExpId

getDefUseList

public DefUseList getDefUseList()
定義:
インタフェース SubpFlow 内の getDefUseList

getListOfDefUseList

public DefUseList getListOfDefUseList()

getDefUseExhaustiveList

public DefUseList getDefUseExhaustiveList()
定義:
インタフェース SubpFlow 内の getDefUseExhaustiveList

getListOfDefUseExhaustiveList

public DefUseList getListOfDefUseExhaustiveList()

getDefNodeList

public java.util.List getDefNodeList(FlowAnalSym pSym)
定義:
インタフェース SubpFlow 内の getDefNodeList

addDefNode

public void addDefNode(FlowAnalSym pSym,
                       IR pDefNode)

getUseDefList

public UseDefList getUseDefList()
定義:
インタフェース SubpFlow 内の getUseDefList

getListOfUseDefList

public UseDefList getListOfUseDefList()

getUseDefExhaustiveList

public UseDefList getUseDefExhaustiveList()
定義:
インタフェース SubpFlow 内の getUseDefExhaustiveList

getListOfUseDefExhaustiveList

public UseDefList getListOfUseDefExhaustiveList()

geUseNodeList

public java.util.List geUseNodeList(FlowAnalSym pSym)
定義:
インタフェース SubpFlow 内の geUseNodeList

addUseNode

public void addUseNode(FlowAnalSym pSym,
                       IR pUseNode)

bblockVector

public BBlockVector bblockVector()

flowAnalSymVector

public FlowAnalSymVector flowAnalSymVector()
定義:
インタフェース SubpFlow 内の flowAnalSymVector

setOfGlobalVariables

public java.util.Set setOfGlobalVariables()
定義:
インタフェース SubpFlow 内の setOfGlobalVariables

setOfAddressTakenVariables

public java.util.Set setOfAddressTakenVariables()
定義:
インタフェース SubpFlow 内の setOfAddressTakenVariables

clearControlFlow

public void clearControlFlow()
インタフェース SubpFlow の記述:
Clear all control/data flow analysis information.

定義:
インタフェース SubpFlow 内の clearControlFlow

clearDataFlow

public void clearDataFlow()
インタフェース SubpFlow の記述:
Clear data flow information. Before calling clearDataFlow, clearControlFlow should be called. clearDataFlow may be called after CFG creation (after flow.controlFlowAnal(SubpFlow)) in which case, CFG information is not cleared.

定義:
インタフェース SubpFlow 内の clearDataFlow

resetControlAndDataFlowInformation

public void resetControlAndDataFlowInformation()
インタフェース SubpFlow の記述:
Clear all control/data flow analysis information after executing setIndexNumberTOAllNodes.

定義:
インタフェース SubpFlow 内の resetControlAndDataFlowInformation

resetExpId

public void resetExpId()

computeSetOfGlobalVariables

public java.util.Set computeSetOfGlobalVariables()
computeSetOfGlobalVariables Compute the set of global variables and record it in fSetOfGlobalVariables.

定義:
インタフェース SubpFlow 内の computeSetOfGlobalVariables
戻り値:
the set of global variables.

computeSetOfAddressTakenVariables

public java.util.Set computeSetOfAddressTakenVariables()
computeSetOfAddressTakenVariables Compute the set of variables whose address is taken (e.g. (addr (var )), (addr (subs (var ) ... ) ) for this subprogram definition.

定義:
インタフェース SubpFlow 内の computeSetOfAddressTakenVariables

computeSetOfAddressTakenVariables

public void computeSetOfAddressTakenVariables(HIR pHir,
                                              java.util.Set pSet,
                                              boolean pAddrOperand)
computeSetOfAddressTakenVariables Compute the set of variables whose address is taken (e.g. (addr (var )), (addr (subs (var ) ... ) ) within the given HIR subtree.

パラメータ:
pHir - HIR subtree to be computed.
pSet - Set in which variables are recorded.
pAddrOperand - true if address is to be taken, false otherwise.

setRestructureFlag

public void setRestructureFlag()
定義:
インタフェース SubpFlow 内の setRestructureFlag

getRestructureFlag

public boolean getRestructureFlag()
定義:
インタフェース SubpFlow 内の getRestructureFlag

setRecordAlias

public void setRecordAlias(RecordAlias pRecordAlias)
インタフェース SubpFlow の記述:
Record a RecordAlias instance in order to indicate that alias is considered in data flow analysis. If pRecordAlias is not null, alias is considered. If pRecordAlias is null, alias is not considered.

定義:
インタフェース SubpFlow 内の setRecordAlias
パラメータ:
pRecordAlias - is an instance of RecordAlias keeping the the result of alias analysis for this subprogram.

getRecordAlias

public RecordAlias getRecordAlias()
インタフェース SubpFlow の記述:
If returned value is not null, then alias is considered in data flow analysis. If it is null, then alias is not considered. The returned value is used to get alias information for data flow analysis.

定義:
インタフェース SubpFlow 内の getRecordAlias
戻り値:
RecordAlias instance set by setRecordAlias method.

getSetRefReprOfIR

public SetRefRepr getSetRefReprOfIR(IR pIR)
定義:
インタフェース SubpFlow 内の getSetRefReprOfIR

setSetRefReprOfIR

public void setSetRefReprOfIR(SetRefRepr pSetRefRepr,
                              IR pIR)
定義:
インタフェース SubpFlow 内の setSetRefReprOfIR

correlateBBlockAndIR

public void correlateBBlockAndIR()

allocateBBlockOfIR

public void allocateBBlockOfIR()

getBBlockOfIR

public BBlock getBBlockOfIR(int pIndex)
定義:
インタフェース SubpFlow 内の getBBlockOfIR

setBBlockOfIR

public void setBBlockOfIR(BBlock pBBlock,
                          int pIndex)

getIrIndexMin

public int getIrIndexMin()
定義:
インタフェース SubpFlow 内の getIrIndexMin

getIrIndexMax

public int getIrIndexMax()
定義:
インタフェース SubpFlow 内の getIrIndexMax

getDefCount

public int getDefCount()
定義:
インタフェース SubpFlow 内の getDefCount

getExpId

public ExpId getExpId(IR pIr)
定義:
インタフェース SubpFlow 内の getExpId

getExpId

public ExpId getExpId(IR pIr,
                      int pIndex)
定義:
インタフェース SubpFlow 内の getExpId

setExpId

public void setExpId(IR pIr,
                     ExpId pExpId)
定義:
インタフェース SubpFlow 内の setExpId

getRefPoint

public IR getRefPoint(int pIndex)
Get IR node from ref-index

定義:
インタフェース SubpFlow 内の getRefPoint
パラメータ:
pIndex - ref index (fSubpFlow.fRefIndex[nodeIndex])
戻り値:
the corresponding node.

getDefPoint

public IR getDefPoint(int pIndex)
Get IR node from def-index

定義:
インタフェース SubpFlow 内の getDefPoint
パラメータ:
pIndex - def index (fSubpFlow.fDefIndex[nodeIndex])
戻り値:
the corresponding node.

getDefIndex

public int getDefIndex(int pNodeIndex)
インタフェース SubpFlow の記述:
Get def-index from node index.

定義:
インタフェース SubpFlow 内の getDefIndex
パラメータ:
pNodeIndex - IR node index.
戻り値:
def-index

recordDefRefPoint

public int recordDefRefPoint(IR pIR)
定義:
インタフェース SubpFlow 内の recordDefRefPoint

recordDefPoint

public int recordDefPoint(IR pIR)
定義:
インタフェース SubpFlow 内の recordDefPoint

getAssignCount

public int getAssignCount()
定義:
インタフェース SubpFlow 内の getAssignCount

getCallCount

public int getCallCount()
定義:
インタフェース SubpFlow 内の getCallCount

computeBBlockSetRefReprs

public void computeBBlockSetRefReprs()
定義:
インタフェース SubpFlow 内の computeBBlockSetRefReprs

getSetRefReprList

public SetRefReprList getSetRefReprList(BBlock pBBlock)
定義:
インタフェース SubpFlow 内の getSetRefReprList

setSetRefReprList

public void setSetRefReprList(BBlock pBBlock,
                              SetRefReprList pSetRefReprList)
定義:
インタフェース SubpFlow 内の setSetRefReprList

subtreesContainingCall

public java.util.Set subtreesContainingCall()
定義:
インタフェース SubpFlow 内の subtreesContainingCall

setExpOfTemp

public void setExpOfTemp(Var pTempVar,
                         Exp pExp)
インタフェース SubpFlow の記述:
Record pExp as the expression represented by the temporal variable pTempVar.

定義:
インタフェース SubpFlow 内の setExpOfTemp
パラメータ:
pTempVar - variable introduced to represent an expression (in process of optimization, etc.).
pExp -

getExpOfTemp

public Exp getExpOfTemp(Var pTempVar)
インタフェース SubpFlow の記述:
Get the expression represented by the temporal variable pTempVar.

定義:
インタフェース SubpFlow 内の getExpOfTemp
パラメータ:
pTempVar - variable introduced to represent an expression (in process of optimization, etc.).
戻り値:
the expression represented by the temporal variable.

getListOfBBlocksFromEntry

public java.util.List getListOfBBlocksFromEntry()
定義:
インタフェース SubpFlow 内の getListOfBBlocksFromEntry

getListOfBBlocksFromExit

public java.util.List getListOfBBlocksFromExit()
定義:
インタフェース SubpFlow 内の getListOfBBlocksFromExit

getFlowRoot

public FlowRoot getFlowRoot()
定義:
インタフェース SubpFlow 内の getFlowRoot

isComputed

public boolean isComputed(int pItemIndex)
インタフェース SubpFlow の記述:
Test if a control/data flow item is already computed or not. Control flow items are reset by initiateControlFlowAnal, data flow items are reset by initiateDataFlowAnal of SubpFlow.

定義:
インタフェース SubpFlow 内の isComputed
パラメータ:
pItemIndex - item index CF_INDEXED .. DF_DEFUSELIST.
戻り値:
true if the item specified by pItemIndex is already computed.

setComputedFlag

public void setComputedFlag(int pItemIndex)
インタフェース SubpFlow の記述:
Set the control/data flow item to be computed as true. The result can be seen by isComputed.

定義:
インタフェース SubpFlow 内の setComputedFlag
パラメータ:
pItemIndex - item index CF_INDEXED .. DF_DEFUSELIST.

resetComputedFlag

public void resetComputedFlag(int pItemIndex)
インタフェース SubpFlow の記述:
Reset computed flag for all items whose item numbers are greater or equal to pItemIndex.

定義:
インタフェース SubpFlow 内の resetComputedFlag
パラメータ:
pItemIndex -

setUnderComputation

public void setUnderComputation(int pItemIndex)
インタフェース SubpFlow の記述:
Set computed flag for the item indicated by pItemIndex.

定義:
インタフェース SubpFlow 内の setUnderComputation
パラメータ:
pItemIndex -

isComputedOrUnderComputation

public boolean isComputedOrUnderComputation(int pItemIndex)
定義:
インタフェース SubpFlow 内の isComputedOrUnderComputation

printComputedFlag

void printComputedFlag()

getExpIdList

public java.util.List getExpIdList()
定義:
インタフェース SubpFlow 内の getExpIdList

printExpIdAndIrCorrespondence

public void printExpIdAndIrCorrespondence()
定義:
インタフェース SubpFlow 内の printExpIdAndIrCorrespondence

getComplexityLevel

public int getComplexityLevel()
インタフェース SubpFlow の記述:
Get the complexity level of this subprogram. 1: simple. Do full analysis. 2: medium. Alias analysis is simplified. 3: complex. Alias analysis and data flow analysis are simplified.

定義:
インタフェース SubpFlow 内の getComplexityLevel
戻り値:
the complexity level.

hasCallUnder

public boolean hasCallUnder(IR pIR)
Returns true if the given IR node has as its decendant a call node.

定義:
インタフェース SubpFlow 内の hasCallUnder

getFlowAdapter

public FlowAdapter getFlowAdapter()
定義:
インタフェース SubpFlow 内の getFlowAdapter

changeListOfFlowBBlocksToListOfAflowBBlocks

public java.util.List changeListOfFlowBBlocksToListOfAflowBBlocks(java.util.List pListOfFlowBBlocks)
定義:
インタフェース SubpFlow 内の changeListOfFlowBBlocksToListOfAflowBBlocks

getMaximalCompoundVars

public java.util.Set getMaximalCompoundVars()
インタフェース SubpFlow の記述:
Get the set of maximal compound variables. A maximal compound variable is either subscripted variable, maximal struct/union element whose parent is not QuarifiedExp, maximal pointer qualification whose parent is not PpointedExp. This set is computed when ExpIds are allocated.

定義:
インタフェース SubpFlow 内の getMaximalCompoundVars
戻り値:
the set of maximal compound variable expressions.

getFlowAnalSymTable

public FlowAnalSym[] getFlowAnalSymTable()
定義:
インタフェース SubpFlow 内の getFlowAnalSymTable

getDominators

public BBlockVector getDominators(BBlock pBBlock)
インタフェース SubpFlow の記述:
Get BBlockVector representing dominators of pBBlock. As for immediate dominators, see getImmediateDominator() of BBlock interface.

定義:
インタフェース SubpFlow 内の getDominators
パラメータ:
pBBlock - Basic block.
戻り値:
BBlockVector representing dominators of pBBlock.

getPostDominators

public BBlockVector getPostDominators(BBlock pBBlock)
インタフェース SubpFlow の記述:
Get BBlockVector representing post dominators of pBBlock. As for immediate post dominators, see getImmediateDominator() of BBlock interface.

定義:
インタフェース SubpFlow 内の getPostDominators
パラメータ:
pBBlock - Basic block.
戻り値:
BBlockVector representing post dominators of pBBlock.

getDominatorList

public java.util.List getDominatorList(BBlock pBBlock)
インタフェース SubpFlow の記述:
Get the list of dominators of pBBlock.

定義:
インタフェース SubpFlow 内の getDominatorList
パラメータ:
pBBlock - Basic block.
戻り値:
the list representing dominators of pBBlock.

getPostDominatorList

public java.util.List getPostDominatorList(BBlock pBBlock)
インタフェース SubpFlow の記述:
Get the list of post dominators of pBBlock.

定義:
インタフェース SubpFlow 内の getPostDominatorList
パラメータ:
pBBlock - Basic block.
戻り値:
the list representing post dominators of pBBlock.

getAflowSubpFlow

public SubpFlow getAflowSubpFlow(FlowResults pFlowResults)

sortExpIdCollection

public java.util.List sortExpIdCollection(java.util.Collection pExpIdCollection)
Sort the list or set of FLowAnalSyms (pExpIdCollection) so that non-ExpId symbols come first and then ExpIds sorted in the ascending order of suffix (nn of of the name of ExpId _xIdnn).

定義:
インタフェース SubpFlow 内の sortExpIdCollection
パラメータ:
pExpIdCollection - list or set of FlowAnalSyms.
戻り値:
the sorted list of FlowAnalSyms.

isFailed

public boolean isFailed()
定義:
インタフェース SubpFlow 内の isFailed