|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--coins.flow.SubpFlowImpl
SubpFlowImpl class Subprogram flow analysis class. Fields and methods are common between HIR and LIR.
| インタフェース 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 |
| フィールドの詳細 |
public final FlowRoot flowRoot
public final IoRoot ioRoot
public final SymRoot symRoot
public final HirRoot hirRoot
public Flow flow
protected int fUsedGlobalSymCount
protected int fPointVectorBitCount
protected int fPointVectorWordCount
protected int fExpVectorBitCount
protected int fExpVectorWordCount
protected int fDefVectorBitCount
protected int fDefVectorWordCount
protected int fBBlockVectorBitCount
protected int fBBlockVectorWordCount
protected SubpDefinition fSubpDefinition
protected BBlock fPrevBBlockInSearch
protected int fNodeCount
protected IR[] fFlowIrLink
protected int fFlowIrLinkSize
protected int fBBlockCount
protected int fUsedSymCount
protected int fSymExpCount
protected int fDefRefCount
protected int fDefCount
protected BBlock fEntryBBlock
protected int fAssignCount
protected int fCallCount
protected BBlock fExitBBlock
protected java.util.ArrayList fBBlockTable
protected java.util.List fBBlockList
protected java.util.List fListOfBBlocksFromEntry
protected java.util.List fListOfBBlocksFromExit
protected java.util.Set fUsedSymSet
protected FlowAnalSym[] fSymIndexTable
protected java.util.List fDfoList
protected java.util.List fInverseDfoList
protected int fExpIdNumber
protected java.util.Set fDefinedSyms
protected FlowAnalSym[] fFlowAnalSymTable
protected BBlock[] fBBlockOfIR
protected int[] fDefRefIndex
protected int[] fDefIndex
protected java.util.Map fBBlockOfLabel
protected java.util.List fExpIdList
protected java.util.Set fMaximalCompoundVars
protected java.util.Set fGlobalSymsUsed
protected DefUseList fDefUseList
protected UseDefList fUseDefList
protected DefUseList fDefUseExhaustiveList
protected UseDefList fUseDefExhaustiveList
protected java.util.List[] fDefNodeListOfSym
protected java.util.List[] fUseNodeListOfSym
public boolean fHirAnalExtended
protected SetRefRepr[] fSetRefReprTable
protected int fIrIndexMin
protected int fIrIndexMax
protected ExpId[] fExpIdTable
public int fMaxIndexOfCopiedNode
public java.util.List fSubtreesCopied
protected java.util.Set fSetOfGlobalVariables
protected java.util.Set fSetOfAddressTakenVariables
protected java.util.Map fTempExpCorrespondence
protected AliasAnal fAlias
protected RecordAlias fRecordAlias
protected IR[] fDefRefPoint
protected IR[] fDefPoint
public boolean[] hasCall
public boolean hasCallInSubp
public boolean[] hasUsePointer
public boolean[] hasStructUnion
public boolean[] hasPointerAssign
protected SetRefReprList[] fArrayOfSetRefReprList
protected BBlockVector[] fDom
protected BBlockVector[] fPostDom
protected java.util.List[] fDomList
protected java.util.List[] fPostDomList
public java.util.Set fSubtreesContainingCall
protected int[] fComputedFlag
public final int fDbgLevel
protected int fComplexity
protected final int fNodeCountLim1
protected final int fNodeCountLim2
protected final int fSymCountLim1
protected final int fSymCountLim2
protected FlowAdapter fFlowAdapter
public boolean fIteratorInitiated
public java.util.Map fMultipleSetRef
protected boolean failed
protected SubpFlow fAflowSubpFlow
| コンストラクタの詳細 |
public SubpFlowImpl(FlowRoot pFlowRoot,
SubpDefinition pSubpDefinition)
public SubpFlowImpl()
| メソッドの詳細 |
public BBlock getEntryBBlock()
SubpFlow の記述:
SubpFlow 内の getEntryBBlockpublic void setEntryBBlock(BBlock pBlock)
SubpFlow 内の setEntryBBlockpublic BBlock getExitBBlock()
SubpFlow 内の getExitBBlockpublic void setExitBBlock(BBlock pBlock)
SubpFlow 内の setExitBBlockpublic void copyFlowAnalData(SubpFlow pSubpFlow)
SubpFlow 内の copyFlowAnalDatapublic BBlock bblock(LabeledStmt pLabeledStmt)
SubpFlow の記述:
SubpFlow 内の bblockpublic BBlock bblock()
SubpFlow の記述:
SubpFlow 内の bblockpublic ExpVector expVector()
SubpFlow 内の expVectorpublic PointVector pointVector()
SubpFlow 内の pointVectorpublic DefVector defVector()
SubpFlow 内の defVectorpublic void resetFlowSymLinkForRecordedSym()
SubpFlow の記述:
SubpFlow 内の resetFlowSymLinkForRecordedSympublic void resetFlowSymLink(SymTable pSymTable)
SubpFlow の記述:
SubpFlow 内の resetFlowSymLinkpublic void resetGlobalFlowSymLink()
SubpFlow の記述:
SubpFlow 内の resetGlobalFlowSymLinkpublic void resetFlowSymLinkForTable(SymTable pSymTable)
public BBlock getBBlock(int pBlockNumber)
SubpFlow の記述:
SubpFlow 内の getBBlockpBlockNumber - block number of the basic block to be got.
public void recordBBlock(BBlock pBlock,
int pBlockNumber)
SubpFlow 内の recordBBlockpublic FlowAnalSym getIndexedSym(int pSymIndex)
SubpFlow 内の getIndexedSymprotected int recordSym(FlowAnalSym pSym)
public IR getIndexedNode(int pNodeIndex)
SubpFlow 内の getIndexedNodepublic BBlock getBBlockFromNodeIndex(int pNodeIndex)
SubpFlow 内の getBBlockFromNodeIndexpublic int getNumberOfBBlocks()
SubpFlow 内の getNumberOfBBlockspublic int getNumberOfNodes()
SubpFlow 内の getNumberOfNodespublic void setNumberOfNodes(int pCount)
SubpFlow 内の setNumberOfNodespublic int getSymExpCount()
SubpFlow 内の getSymExpCountpublic int getUsedSymCount()
SubpFlow 内の getUsedSymCountpublic java.lang.String generateExpIdName()
SubpFlow の記述:
SubpFlow 内の generateExpIdNamepublic SubpDefinition getSubpDefinition()
SubpFlow 内の getSubpDefinitionpublic Subp getSubpSym()
SubpFlow 内の getSubpSympublic int getNumberOfDefUsedGlobalSymbols()
SubpFlow 内の getNumberOfDefUsedGlobalSymbolspublic int getPointVectorBitCount()
SubpFlow 内の getPointVectorBitCountpublic void setPointVectorBitCount(int pBitCount)
SubpFlow 内の setPointVectorBitCountpublic int getPointVectorWordCount()
SubpFlow 内の getPointVectorWordCountpublic int getExpVectorBitCount()
SubpFlow 内の getExpVectorBitCountpublic void setExpVectorBitCount(int pBitCount)
SubpFlow 内の setExpVectorBitCountpublic int getExpVectorWordCount()
SubpFlow 内の getExpVectorWordCountpublic int getDefVectorBitCount()
SubpFlow 内の getDefVectorBitCountpublic void setDefVectorBitCount(int pBitCount)
SubpFlow 内の setDefVectorBitCountpublic int getDefVectorWordCount()
SubpFlow 内の getDefVectorWordCountpublic int getBBlockVectorBitCount()
SubpFlow 内の getBBlockVectorBitCountpublic void setBBlockVectorBitCount(int pBitCount)
SubpFlow 内の setBBlockVectorBitCountpublic int getBBlockVectorWordCount()
SubpFlow 内の getBBlockVectorWordCountpublic void setPrevBBlockInSearch(BBlock pPrev)
SubpFlow の記述:
SubpFlow 内の setPrevBBlockInSearchpPrev - previous BBlock from which this BBlock is
to be linked.public BBlock getPrevBBlockInSearch()
SubpFlow 内の getPrevBBlockInSearchpublic java.util.Set getDefinedSyms()
SubpFlow の記述:
SubpFlow 内の getDefinedSymspublic java.util.Set getUsedSyms()
SubpFlow の記述:
SubpFlow 内の getUsedSymspublic void summarize()
SubpFlow 内の summarizepublic java.util.Iterator cfgIterator()
SubpFlow 内の cfgIteratorpublic java.util.Iterator cfgFromExitIterator()
SubpFlow の記述:
SubpFlow 内の cfgFromExitIteratorpublic PointVectorIterator pointVectorIterator(PointVector pPointVector)
SubpFlow 内の pointVectorIteratorpublic DefVectorIterator defVectorIterator(DefVector pDefVector)
SubpFlow 内の defVectorIteratorpublic ExpVectorIterator expVectorIterator(ExpVector pExpVector)
SubpFlow 内の expVectorIteratorpublic BBlockSubtreeIterator bblockSubtreeIterator(BBlock pBBlock)
SubpFlow の記述:
SubpFlow 内の bblockSubtreeIteratorpublic BBlockStmtIterator bblockStmtIterator(BBlockHir pBBlock)
SubpFlow の記述:
SubpFlow 内の bblockStmtIteratorpublic BBlockNodeIterator bblockNodeIterator(BBlock pBBlock)
SubpFlow 内の bblockNodeIteratorpublic int getFlowAnalStateLevel()
SubpFlow 内の getFlowAnalStateLevelpublic void setFlowAnalStateLevel(int pState)
SubpFlow 内の setFlowAnalStateLevelpublic java.util.ArrayList getBBlockTable()
SubpFlow の記述:
SubpFlow 内の getBBlockTablepublic java.util.List getBBlockList()
SubpFlow 内の getBBlockListpublic java.util.List getReachableBBlocks()
SubpFlow の記述:
SubpFlow 内の getReachableBBlocks
public void initiateControlFlowAnal(SubpDefinition pSubpDefinition,
int pIndexMin,
int pIndexMax)
SubpFlow 内の initiateControlFlowAnalpublic void initiateDataFlowAnal(SubpDefinition pSubpDefinition)
SubpFlow の記述:
SubpFlow 内の initiateDataFlowAnalpSubpDefinition - definition of subprogram to be analyzed.public BBlock getBBlock(HIR pHir)
SubpFlow 内の getBBlock
public void setBBlock(HIR pHir,
BBlock pBBlock)
SubpFlow 内の setBBlockpublic BBlock getBBlock0(Label pLabel)
SubpFlow 内の getBBlock0public BBlock getBBlockForLabel(Label pLabel)
SubpFlow 内の getBBlockForLabel
public void setBBlock(Label pLabel,
BBlock pBBlock)
SubpFlow 内の setBBlockpublic HIR getLinkedSubtreeOfExpId(ExpId pExpId)
SubpFlow 内の getLinkedSubtreeOfExpIdpublic DefUseList getDefUseList()
SubpFlow 内の getDefUseListpublic DefUseList getListOfDefUseList()
public DefUseList getDefUseExhaustiveList()
SubpFlow 内の getDefUseExhaustiveListpublic DefUseList getListOfDefUseExhaustiveList()
public java.util.List getDefNodeList(FlowAnalSym pSym)
SubpFlow 内の getDefNodeList
public void addDefNode(FlowAnalSym pSym,
IR pDefNode)
public UseDefList getUseDefList()
SubpFlow 内の getUseDefListpublic UseDefList getListOfUseDefList()
public UseDefList getUseDefExhaustiveList()
SubpFlow 内の getUseDefExhaustiveListpublic UseDefList getListOfUseDefExhaustiveList()
public java.util.List geUseNodeList(FlowAnalSym pSym)
SubpFlow 内の geUseNodeList
public void addUseNode(FlowAnalSym pSym,
IR pUseNode)
public BBlockVector bblockVector()
public FlowAnalSymVector flowAnalSymVector()
SubpFlow 内の flowAnalSymVectorpublic java.util.Set setOfGlobalVariables()
SubpFlow 内の setOfGlobalVariablespublic java.util.Set setOfAddressTakenVariables()
SubpFlow 内の setOfAddressTakenVariablespublic void clearControlFlow()
SubpFlow の記述:
SubpFlow 内の clearControlFlowpublic void clearDataFlow()
SubpFlow の記述:
SubpFlow 内の clearDataFlowpublic void resetControlAndDataFlowInformation()
SubpFlow の記述:
SubpFlow 内の resetControlAndDataFlowInformationpublic void resetExpId()
public java.util.Set computeSetOfGlobalVariables()
SubpFlow 内の computeSetOfGlobalVariablespublic java.util.Set computeSetOfAddressTakenVariables()
SubpFlow 内の computeSetOfAddressTakenVariables
public void computeSetOfAddressTakenVariables(HIR pHir,
java.util.Set pSet,
boolean pAddrOperand)
pHir - HIR subtree to be computed.pSet - Set in which variables are recorded.pAddrOperand - true if address is to be taken,
false otherwise.public void setRestructureFlag()
SubpFlow 内の setRestructureFlagpublic boolean getRestructureFlag()
SubpFlow 内の getRestructureFlagpublic void setRecordAlias(RecordAlias pRecordAlias)
SubpFlow の記述:
SubpFlow 内の setRecordAliaspRecordAlias - is an instance of RecordAlias keeping the
the result of alias analysis for this subprogram.public RecordAlias getRecordAlias()
SubpFlow の記述:
SubpFlow 内の getRecordAliaspublic SetRefRepr getSetRefReprOfIR(IR pIR)
SubpFlow 内の getSetRefReprOfIR
public void setSetRefReprOfIR(SetRefRepr pSetRefRepr,
IR pIR)
SubpFlow 内の setSetRefReprOfIRpublic void correlateBBlockAndIR()
public void allocateBBlockOfIR()
public BBlock getBBlockOfIR(int pIndex)
SubpFlow 内の getBBlockOfIR
public void setBBlockOfIR(BBlock pBBlock,
int pIndex)
public int getIrIndexMin()
SubpFlow 内の getIrIndexMinpublic int getIrIndexMax()
SubpFlow 内の getIrIndexMaxpublic int getDefCount()
SubpFlow 内の getDefCountpublic ExpId getExpId(IR pIr)
SubpFlow 内の getExpId
public ExpId getExpId(IR pIr,
int pIndex)
SubpFlow 内の getExpId
public void setExpId(IR pIr,
ExpId pExpId)
SubpFlow 内の setExpIdpublic IR getRefPoint(int pIndex)
SubpFlow 内の getRefPointpIndex - ref index (fSubpFlow.fRefIndex[nodeIndex])
public IR getDefPoint(int pIndex)
SubpFlow 内の getDefPointpIndex - def index (fSubpFlow.fDefIndex[nodeIndex])
public int getDefIndex(int pNodeIndex)
SubpFlow の記述:
SubpFlow 内の getDefIndexpNodeIndex - IR node index.
public int recordDefRefPoint(IR pIR)
SubpFlow 内の recordDefRefPointpublic int recordDefPoint(IR pIR)
SubpFlow 内の recordDefPointpublic int getAssignCount()
SubpFlow 内の getAssignCountpublic int getCallCount()
SubpFlow 内の getCallCountpublic void computeBBlockSetRefReprs()
SubpFlow 内の computeBBlockSetRefReprspublic SetRefReprList getSetRefReprList(BBlock pBBlock)
SubpFlow 内の getSetRefReprList
public void setSetRefReprList(BBlock pBBlock,
SetRefReprList pSetRefReprList)
SubpFlow 内の setSetRefReprListpublic java.util.Set subtreesContainingCall()
SubpFlow 内の subtreesContainingCall
public void setExpOfTemp(Var pTempVar,
Exp pExp)
SubpFlow の記述:
SubpFlow 内の setExpOfTemppTempVar - variable introduced to represent an expression
(in process of optimization, etc.).pExp - public Exp getExpOfTemp(Var pTempVar)
SubpFlow の記述:
SubpFlow 内の getExpOfTemppTempVar - variable introduced to represent an expression
(in process of optimization, etc.).
public java.util.List getListOfBBlocksFromEntry()
SubpFlow 内の getListOfBBlocksFromEntrypublic java.util.List getListOfBBlocksFromExit()
SubpFlow 内の getListOfBBlocksFromExitpublic FlowRoot getFlowRoot()
SubpFlow 内の getFlowRootpublic boolean isComputed(int pItemIndex)
SubpFlow の記述:
SubpFlow 内の isComputedpItemIndex - item index CF_INDEXED .. DF_DEFUSELIST.
public void setComputedFlag(int pItemIndex)
SubpFlow の記述:
SubpFlow 内の setComputedFlagpItemIndex - item index CF_INDEXED .. DF_DEFUSELIST.public void resetComputedFlag(int pItemIndex)
SubpFlow の記述:
SubpFlow 内の resetComputedFlagpItemIndex - public void setUnderComputation(int pItemIndex)
SubpFlow の記述:
SubpFlow 内の setUnderComputationpItemIndex - public boolean isComputedOrUnderComputation(int pItemIndex)
SubpFlow 内の isComputedOrUnderComputationvoid printComputedFlag()
public java.util.List getExpIdList()
SubpFlow 内の getExpIdListpublic void printExpIdAndIrCorrespondence()
SubpFlow 内の printExpIdAndIrCorrespondencepublic int getComplexityLevel()
SubpFlow の記述:
SubpFlow 内の getComplexityLevelpublic boolean hasCallUnder(IR pIR)
SubpFlow 内の hasCallUnderpublic FlowAdapter getFlowAdapter()
SubpFlow 内の getFlowAdapterpublic java.util.List changeListOfFlowBBlocksToListOfAflowBBlocks(java.util.List pListOfFlowBBlocks)
SubpFlow 内の changeListOfFlowBBlocksToListOfAflowBBlockspublic java.util.Set getMaximalCompoundVars()
SubpFlow の記述:
SubpFlow 内の getMaximalCompoundVarspublic FlowAnalSym[] getFlowAnalSymTable()
SubpFlow 内の getFlowAnalSymTablepublic BBlockVector getDominators(BBlock pBBlock)
SubpFlow の記述:
SubpFlow 内の getDominatorspBBlock - Basic block.
public BBlockVector getPostDominators(BBlock pBBlock)
SubpFlow の記述:
SubpFlow 内の getPostDominatorspBBlock - Basic block.
public java.util.List getDominatorList(BBlock pBBlock)
SubpFlow の記述:
SubpFlow 内の getDominatorListpBBlock - Basic block.
public java.util.List getPostDominatorList(BBlock pBBlock)
SubpFlow の記述:
SubpFlow 内の getPostDominatorListpBBlock - Basic block.
public SubpFlow getAflowSubpFlow(FlowResults pFlowResults)
public java.util.List sortExpIdCollection(java.util.Collection pExpIdCollection)
SubpFlow 内の sortExpIdCollectionpExpIdCollection - list or set of FlowAnalSyms.
public boolean isFailed()
SubpFlow 内の isFailed
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||