coins.aflow
クラス BBlockImpl

java.lang.Object
  |
  +--coins.aflow.BBlockImpl
すべての実装インタフェース:
BBlock
直系の既知のサブクラス:
BBlockHirImpl

public abstract class BBlockImpl
extends java.lang.Object
implements BBlock


フィールドの概要
protected  int fBBlockNumber
           
protected  IR fIrLink
           
 FlowRoot flowRoot
           
protected  BBlock fNextInDFO
           
protected  BBlock fNextInInverseDFO
           
protected  java.util.LinkedList fPredEdgeList
           
protected  java.util.LinkedList fPredList
           
(パッケージプライベート)  FlowResults fResults
           
protected  java.util.LinkedList fSuccEdgeList
           
protected  java.util.LinkedList fSuccList
           
protected  java.lang.Object fWork
           
 
コンストラクタの概要
protected BBlockImpl(SubpFlow pSubpFlow)
           
 
メソッドの概要
 void addEdge(Exp pConditionalExp, BBlock pToBlock)
          addEdge: Add edge from this block to pToBlock that is to be taken when pConditionalExp is true.
 void addToPredList(BBlock pPred)
          addToPredList: addToSuccList: Add the basic block pPred/pSucc to the list of predecessors/successors of this basic block, and this block is added to the list of successors/predecessors of pPred/pSucc.
 void addToSuccList(BBlock pSucc)
           
 void changePredEdge(BBlock pBefore, BBlock pAfter)
           
 void changeSuccEdge(BBlock pBefore, BBlock pAfter)
          changeEdge: Change the edge between this block and pBefore to a new edge between this block and pAfter.
 void deleteBBlock()
          deleteBBlock: Delete this block and add successors of this block to the set of successors of all predecessors of this block.
 void deleteEdge(BBlock pToBlock)
          deleteEdge: Delete the edge from this block to pToBlock and adjust related addresses and links so as to keep consistency.
 void deleteFromPredList(BBlock pPred)
          deleteFromPredList: deleteFromSuccList: Delete the basic block pPred/pSucc from to the list of predecessors/successors of this basic block, and this block is deleted from the list of successors/predecessors of pPred/pSucc.
 void deleteFromSuccList(BBlock pSucc)
           
 void deleteFromSuccList0(BBlock pSucc)
           
 void fuseSuccessor(BBlock pToBlock)
          fuseSuccessor: Fuse the successor pToBlock with this block and make all successors of pToBlock as successors of this block.
 int getBBlockNumber()
          getBBlockNumber: Get the block number attached to this basic block.
 ExpVector getDAvailIn()
          getAvailIn: Get bit vector showing AvailIn set of this block.
 ExpVector getDAvailOut()
          getAvailOut: Get bit vector showing AvailOut set of this block.
 DefVector getDDef()
           
 FlowAnalSymVector getDDefIn()
          getDefIn: Get bit vector showing DefIn set of this block.
 FlowAnalSymVector getDDefined()
          getDefined: Get bit vector showing Defined set of this block.
 FlowAnalSymVector getDDefOut()
          getDefOut: Get bit vector showing DefOut set of this block.
 DefVector getDef()
          getDef: Get bit vector showing Def set of this block.
 ExpVector getDEGen()
          getEGen: Get bit vector showing EGen set of this block.
 FlowAnalSymVector getDExposed()
          getExposed: Get bit vector showing Exposed set of this block.
 DefVector getDKill()
          getKill: Get bit vector showing Kill set of this block.
 java.util.List getDomForSubpFlow()
          Get the list of BBlocks that dominate this BBlock in the SubpFlow this BBlock belongs to.
 java.util.List getDominatedChildrenForSubpFlow()
          getDominatedChildren: Get the list of basic blocks immediately dominated by this block.
 FlowAnalSymVector getDUsed()
          getDUsed: //##12 Get bit vector showing DUsed set of this block.
 BBlock getImmediateDominatorForSubpFlow()
          getImmediateDominator: Get a basic block immediately dominating this block.
 BBlock getImmediatePostdominatorForSubpFlow()
          getImmediatePostDominator: Get a basic block immediately post dominating this block.
 IR getIrLink()
          getIrLink: Get the top-subtree that starts this basic block.
 BBlock getNextInDFO()
           
 BBlock getNextInInverseDFO()
           
 DefVector getPDef()
          getPDef: Get bit vector showing PDef set of this block.
 FlowAnalSymVector getPDefined()
          getPDefined: Get bit vector showing PDefined set of this block.
 ExpVector getPEKill()
          getEKill: Get bit vector showing EKill set of this block.
 FlowAnalSymVector getPExposed()
          getExposed: Get bit vector showing Exposed set of this block.
 DefVector getPKill()
          getDestroy: Get bit vector showing Destroy set of this block.
 FlowAnalSymVector getPLiveIn()
          getLiveIn: Get bit vector showing LiveIn set of this block.
 FlowAnalSymVector getPLiveOut()
          getLiveOut: Get bit vector showing LiveOut set of this block.
 java.util.List getPostdomForSubpFlow()
           
 java.util.List getPostdominatedChildrenForSubpFlow()
          getPostDominatedChildren: setPostDominatedChildren: Get/set the list of basic blocks post dominated by this block.
 DefVector getPReach()
          getReach0: Get bit vector showing Reach0 set of this block.
 Edge getPredEdge(BBlock pFromBBlock)
          getPredEdge: getSuccEdge: Get the edge corresponding to the predecessor/successor to/from this basic block.
 java.util.List getPredList()
          getPredList: getSuccList: Get the predecessor/successor list of this basic block.
 FlowAnalSymVector getPUsed()
          getUsed: //##12 Get bit vector showing Used set of this block.
 DefVector getReach()
          getReach: Get bit vector showing Reach set of this block.
 SetRefReprList getSetRefReprs()
          Gets the SetRefReprList object that is the list of SetRefRepr objects, each of which wrap a statement/instruction.
 java.util.List getStrictDomForSubpFlow()
          Get the strict dominator for this BBlock in the SubpFlow this BBlock belongs to.
 java.util.List getStrictPostdomForSubpFlow()
           
 SubpFlow getSubpFlow()
          Returns the SubpFlow object this BBlock belongs to.
 Edge getSuccEdge(BBlock pToBBlock)
           
 java.util.List getSuccList()
           
 java.lang.Object getWork()
          getWork: setWork: get/set information privately used in each phase.
protected  void initiateFields()
           
 BBlock insertConditionalInitPart()
          insertConditionalInitPart: Insert a basic block as the conditional initiation block (conditionalInitBlock) of this loop (the loop starting with this basic block having loop header flag).
 BBlock insertLoopPreheader()
           
 boolean isDAvailIn(FlowExpId pExpId)
          isAvailIn: See if the expression represented by pExpId is available (value is always computed) at entry to this block.
 boolean isDAvailOut(FlowExpId pExpId)
          isAvailOut: See if the expression represented by pExpId is available (value is always computed) at exit from this block.
 boolean isDDef(SetRefRepr pSetRefRepr)
          isDef: See if definition at position pPos is done in this block.
 boolean isDDefIn(Sym pSym)
          isDefIn: See if pSym is always defined at entry to this block whichever path may be take.
 boolean isDDefined(Sym pSym)
          isDefined: See if the value of pSym is defined in this block.
 boolean isDDefOut(Sym pSym)
          isDefOut: See if pSym is always defined at exit from this block.
 boolean isDEGen(FlowExpId pExpId)
          isEGen: See if expression designated by pReg is generated (computed in this block and afterwards its operand is not changed) in this block.
 boolean isDExposed(Sym pSym)
          isExposed: See if the variable of pSym is used in this block without setting its value in this block.
 boolean isDKill(SetRefRepr pSetRefRepr)
          isKill: See if definition at position pPos is killed in this block.
 boolean isDUsed(Sym pSym)
          isUsed: //##12 See if the value of pSym is used in this block.
 boolean isEntryBBlock()
          isEntryBlock: See if this block is the entry block in the graph of basic blocks.
 boolean isEntryBlock()
           
 boolean isExitBBlock()
          isExitBlock: See if this block is the exit block in the graph of basic blocks.
 boolean isExitBlock()
          isExitBlock: See if this block is the exit block in the graph of basic blocks.
 boolean isPDef(SetRefRepr pSetRefRepr)
           
 boolean isPDefined(Sym pSym)
          isModified: See if the value of pSym is modified in this block.
 boolean isPEKill(FlowExpId pExpId)
          isEKill: See if expression designated by pReg is killed (its operand is defined) in this block.
 boolean isPExposed(Sym pSym)
           
 boolean isPKill(SetRefRepr pSetRefRepr)
           
 boolean isPLiveIn(Sym pSym)
          isLiveIn: See if pSym is live at entry to this block (value at entry is used in this block or in some successor of this block).
 boolean isPLiveOut(Sym pSym)
          isLiveOut: See if pSym is live at exit from this block (value at exit is used in some successor of this block).
 boolean isPReach(SetRefRepr pSetRefRepr)
          isReach: See if definition at position pPos reaches to the entry point of this block.
 boolean isPUsed(Sym pSym)
           
 void printSubtrees()
          printSubtrees: Print the sequence of subtrees contained in this block.
 FlowResults results()
          Returns the FlowResults object that holds data flow information.
 void setDAvailIn(ExpVector pVect)
           
 void setDAvailOut(ExpVector pVect)
           
 void setDDef(DefVector pVect)
           
 void setDDefIn(FlowAnalSymVector pVect)
           
 void setDDefined(FlowAnalSymVector pVect)
           
 void setDDefOut(FlowAnalSymVector pVect)
           
 void setDef(DefVector pVect)
           
 void setDEGen(ExpVector pVect)
           
 void setDExposed(FlowAnalSymVector pVect)
           
 void setDKill(DefVector pVect)
           
 void setDomForSubpFlow(java.util.List pDom)
          Set the list of BBlocks that dominate this BBlock in the SubpFlow this BBlock belongs to.
 void setDominatedChildrenForSubpFlow(java.util.List pDominatedChildren)
           
 void setDReach(DefVector pVect)
           
 void setDUsed(FlowAnalSymVector pVect)
           
 void setImmediateDominatorForSubpFlow(BBlock pDominator)
           
 void setImmediatePostdominatorForSubpFlow(BBlock pPostDominator)
           
 void setNextInDFO(BBlock pNext)
           
 void setNextInInveseDFO(BBlock pNext)
           
 void setPDef(DefVector pVect)
           
 void setPDefined(FlowAnalSymVector pVect)
           
 void setPEKill(ExpVector pVect)
           
 void setPExposed(FlowAnalSymVector pVect)
           
 void setPKill(DefVector pVect)
           
 void setPLiveIn(FlowAnalSymVector pVect)
           
 void setPLiveOut(FlowAnalSymVector pVect)
           
 void setPostdomForSubpFlow(java.util.List pPostdom)
           
 void setPostdominatedChildrenForSubpFlow(java.util.List pPostDominatedChildren)
           
 void setPReach(DefVector pVect)
           
 void setPUsed(FlowAnalSymVector pVect)
           
 void setReach(DefVector pVect)
           
 void setSetRefReprs(SetRefReprList pSetRefReprs)
          Sets the SetRefReprList object that is the list of SetRefRepr objects, each of which wrap a statement/instruction.
 void setWork(java.lang.Object pWork)
           
 java.lang.String toString()
           
 java.lang.String toStringDetail()
          toStringDetail: //##10
 java.lang.String toStringShort()
          toStringShort: //##10
 java.lang.String toStringVeryShort()
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース coins.aflow.BBlock から継承したメソッド
bblockNodeIterator, bblockSubtreeIterator, getLabel, setIrLink, setRefRepr
 

フィールドの詳細

flowRoot

public final FlowRoot flowRoot

fBBlockNumber

protected final int fBBlockNumber

fIrLink

protected IR fIrLink

fPredList

protected java.util.LinkedList fPredList

fSuccList

protected java.util.LinkedList fSuccList

fPredEdgeList

protected java.util.LinkedList fPredEdgeList

fSuccEdgeList

protected java.util.LinkedList fSuccEdgeList

fNextInDFO

protected BBlock fNextInDFO

fNextInInverseDFO

protected BBlock fNextInInverseDFO

fWork

protected java.lang.Object fWork

fResults

final FlowResults fResults
コンストラクタの詳細

BBlockImpl

protected BBlockImpl(SubpFlow pSubpFlow)
メソッドの詳細

initiateFields

protected void initiateFields()

getIrLink

public IR getIrLink()
インタフェース BBlock の記述:
getIrLink: Get the top-subtree that starts this basic block. See getLirTreeList for using LIRTreeListIterator. returned value of getIrLink is not applicable for LIRTreeListIterator.

定義:
インタフェース BBlock 内の getIrLink
戻り値:
LabeledStmt or DefLabel subtree that is the first top-subtree in this basic block.

getBBlockNumber

public int getBBlockNumber()
インタフェース BBlock の記述:
getBBlockNumber: Get the block number attached to this basic block.

定義:
インタフェース BBlock 内の getBBlockNumber
戻り値:
the block number attached to this basic block.

results

public FlowResults results()
インタフェース BBlock の記述:
Returns the FlowResults object that holds data flow information.

定義:
インタフェース BBlock 内の results

getSetRefReprs

public SetRefReprList getSetRefReprs()
インタフェース BBlock の記述:
Gets the SetRefReprList object that is the list of SetRefRepr objects, each of which wrap a statement/instruction.

定義:
インタフェース BBlock 内の getSetRefReprs

setSetRefReprs

public void setSetRefReprs(SetRefReprList pSetRefReprs)
インタフェース BBlock の記述:
Sets the SetRefReprList object that is the list of SetRefRepr objects, each of which wrap a statement/instruction.

定義:
インタフェース BBlock 内の setSetRefReprs

getPredList

public java.util.List getPredList()
インタフェース BBlock の記述:
getPredList: getSuccList: Get the predecessor/successor list of this basic block. Elements of the list can be accessed by List methods. See ListIterator for traversing BBlocks in the predecessor/successor list.

定義:
インタフェース BBlock 内の getPredList
戻り値:
the predecessor/successor list of this basic block. If this has no predecessor/successor, empty list is returned.

getSuccList

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

getPredEdge

public Edge getPredEdge(BBlock pFromBBlock)
インタフェース BBlock の記述:
getPredEdge: getSuccEdge: Get the edge corresponding to the predecessor/successor to/from this basic block. getPredEdge: Get the edge spanning from pFromBBlock to this. getSuccEdge: Get the edge spanning from this to pToBBlock.

定義:
インタフェース BBlock 内の getPredEdge

getSuccEdge

public Edge getSuccEdge(BBlock pToBBlock)
定義:
インタフェース BBlock 内の getSuccEdge

isEntryBlock

public boolean isEntryBlock()

isEntryBBlock

public boolean isEntryBBlock()
インタフェース BBlock の記述:
isEntryBlock: See if this block is the entry block in the graph of basic blocks.

定義:
インタフェース BBlock 内の isEntryBBlock
戻り値:
true if this is the entry block in the graph of basic blocks, else return false.

isExitBlock

public boolean isExitBlock()
isExitBlock: See if this block is the exit block in the graph of basic blocks.

戻り値:
true if this is the exit block in the graph of basic blocks, else return false.

isExitBBlock

public boolean isExitBBlock()
インタフェース BBlock の記述:
isExitBlock: See if this block is the exit block in the graph of basic blocks.

定義:
インタフェース BBlock 内の isExitBBlock
戻り値:
true if this is the exit block in the graph of basic blocks, else return false.

getDomForSubpFlow

public java.util.List getDomForSubpFlow()
インタフェース BBlock の記述:
Get the list of BBlocks that dominate this BBlock in the SubpFlow this BBlock belongs to.

定義:
インタフェース BBlock 内の getDomForSubpFlow

setDomForSubpFlow

public void setDomForSubpFlow(java.util.List pDom)
インタフェース BBlock の記述:
Set the list of BBlocks that dominate this BBlock in the SubpFlow this BBlock belongs to.

定義:
インタフェース BBlock 内の setDomForSubpFlow

getStrictDomForSubpFlow

public java.util.List getStrictDomForSubpFlow()
インタフェース BBlock の記述:
Get the strict dominator for this BBlock in the SubpFlow this BBlock belongs to. A strict dominator is the dominator list minus the BBlock itself.

定義:
インタフェース BBlock 内の getStrictDomForSubpFlow

getImmediateDominatorForSubpFlow

public BBlock getImmediateDominatorForSubpFlow()
getImmediateDominator: Get a basic block immediately dominating this block.

定義:
インタフェース BBlock 内の getImmediateDominatorForSubpFlow
戻り値:
the basic block immediately dominating this block.

setImmediateDominatorForSubpFlow

public void setImmediateDominatorForSubpFlow(BBlock pDominator)
定義:
インタフェース BBlock 内の setImmediateDominatorForSubpFlow

getDominatedChildrenForSubpFlow

public java.util.List getDominatedChildrenForSubpFlow()
getDominatedChildren: Get the list of basic blocks immediately dominated by this block. Elements of the list can be handled by List methods.

定義:
インタフェース BBlock 内の getDominatedChildrenForSubpFlow
戻り値:
the list of basic blocks immediately dominated by this block.

setDominatedChildrenForSubpFlow

public void setDominatedChildrenForSubpFlow(java.util.List pDominatedChildren)
定義:
インタフェース BBlock 内の setDominatedChildrenForSubpFlow

getPostdomForSubpFlow

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

setPostdomForSubpFlow

public void setPostdomForSubpFlow(java.util.List pPostdom)
定義:
インタフェース BBlock 内の setPostdomForSubpFlow

getStrictPostdomForSubpFlow

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

getImmediatePostdominatorForSubpFlow

public BBlock getImmediatePostdominatorForSubpFlow()
getImmediatePostDominator: Get a basic block immediately post dominating this block.

定義:
インタフェース BBlock 内の getImmediatePostdominatorForSubpFlow
戻り値:
the basic block immediately post dominating this block.

setImmediatePostdominatorForSubpFlow

public void setImmediatePostdominatorForSubpFlow(BBlock pPostDominator)
定義:
インタフェース BBlock 内の setImmediatePostdominatorForSubpFlow

getPostdominatedChildrenForSubpFlow

public java.util.List getPostdominatedChildrenForSubpFlow()
インタフェース BBlock の記述:
getPostDominatedChildren: setPostDominatedChildren: Get/set the list of basic blocks post dominated by this block. Elements of the list can be handled by List methods. getPostDominatedChildren: return the list of basic blocks post dominated by this block. setPostDominatedChildren: set pPostDominatedChildren as the list of basic blocks post dominated by this block. See ListIterator for traversing dominated children.

定義:
インタフェース BBlock 内の getPostdominatedChildrenForSubpFlow

setPostdominatedChildrenForSubpFlow

public void setPostdominatedChildrenForSubpFlow(java.util.List pPostDominatedChildren)
定義:
インタフェース BBlock 内の setPostdominatedChildrenForSubpFlow

getNextInDFO

public BBlock getNextInDFO()

setNextInDFO

public void setNextInDFO(BBlock pNext)

getNextInInverseDFO

public BBlock getNextInInverseDFO()

setNextInInveseDFO

public void setNextInInveseDFO(BBlock pNext)

getWork

public java.lang.Object getWork()
インタフェース BBlock の記述:
getWork: setWork: get/set information privately used in each phase.

定義:
インタフェース BBlock 内の getWork

setWork

public void setWork(java.lang.Object pWork)
定義:
インタフェース BBlock 内の setWork

toStringShort

public java.lang.String toStringShort()
インタフェース BBlock の記述:
toStringShort: //##10

定義:
インタフェース BBlock 内の toStringShort
戻り値:
Basic block number and predecessor/successor list.

toStringDetail

public java.lang.String toStringDetail()
インタフェース BBlock の記述:
toStringDetail: //##10

定義:
インタフェース BBlock 内の toStringDetail
戻り値:
toStringShort(), linked node, and flags.

printSubtrees

public void printSubtrees()
printSubtrees: Print the sequence of subtrees contained in this block. The order of print is the same as that of bblockSubtreeIterator. "this" is any basic block.


insertLoopPreheader

public BBlock insertLoopPreheader()

insertConditionalInitPart

public BBlock insertConditionalInitPart()
                                 throws CompileError
insertConditionalInitPart: Insert a basic block as the conditional initiation block (conditionalInitBlock) of this loop (the loop starting with this basic block having loop header flag). The inserted conditionalInitBlock is preceeded by the expression statement built by copying the start condition of the loop so that the conditionalInitBlock is executed only when the start condition is satisfied. Edges from predecessors of this block are changed to go to the inserted start condition except loop back edge. The destination of the loop back edge is not changed. The conditionalInitBlock goes to loop body part of this loop treating the body part as its only one successor. Branch addresses of this block and its predecessors are changed so that consistency is kept. "this" should be a loop header basic block that dominates all basic blocks in the loop.

戻り値:
the inserted conditionalInitBlock.
CompileError

changeSuccEdge

public void changeSuccEdge(BBlock pBefore,
                           BBlock pAfter)
インタフェース BBlock の記述:
changeEdge: Change the edge between this block and pBefore to a new edge between this block and pAfter. Branch addresses of this block and linkages between successors of this block are changed so that consistency is kept.

定義:
インタフェース BBlock 内の changeSuccEdge

changePredEdge

public void changePredEdge(BBlock pBefore,
                           BBlock pAfter)
定義:
インタフェース BBlock 内の changePredEdge

addEdge

public void addEdge(Exp pConditionalExp,
                    BBlock pToBlock)
addEdge: Add edge from this block to pToBlock that is to be taken when pConditionalExp is true. Branch addresses of this block and linkages between successors of this block are changed so that consistency is kept. "this" is a basic block having only one successor.

定義:
インタフェース BBlock 内の addEdge

deleteEdge

public void deleteEdge(BBlock pToBlock)
deleteEdge: Delete the edge from this block to pToBlock and adjust related addresses and links so as to keep consistency. If pToBlock has this block as its only one predecessor, then pToBlock is deleted.

定義:
インタフェース BBlock 内の deleteEdge

deleteBBlock

public void deleteBBlock()
deleteBBlock: Delete this block and add successors of this block to the set of successors of all predecessors of this block. Branch statement or instructions in this block is moved to all predecessors of this block so as to keep consistency. "this" is a basic block whose predecessors have this block as their only one successor. If the successors have more than one successors, they should be modified before invoking this method.

定義:
インタフェース BBlock 内の deleteBBlock

addToPredList

public void addToPredList(BBlock pPred)
addToPredList: addToSuccList: Add the basic block pPred/pSucc to the list of predecessors/successors of this basic block, and this block is added to the list of successors/predecessors of pPred/pSucc. Note: For method xxxPredxxx, take 1st word of predecessor/successor or the like, and for method xxxSuccxxx, take 2nd word of predecessor/successor or the like. The same rule applies to other methods in this interface.

定義:
インタフェース BBlock 内の addToPredList

addToSuccList

public void addToSuccList(BBlock pSucc)
定義:
インタフェース BBlock 内の addToSuccList

deleteFromPredList

public void deleteFromPredList(BBlock pPred)
deleteFromPredList: deleteFromSuccList: Delete the basic block pPred/pSucc from to the list of predecessors/successors of this basic block, and this block is deleted from the list of successors/predecessors of pPred/pSucc.

定義:
インタフェース BBlock 内の deleteFromPredList

deleteFromSuccList

public void deleteFromSuccList(BBlock pSucc)
定義:
インタフェース BBlock 内の deleteFromSuccList

deleteFromSuccList0

public void deleteFromSuccList0(BBlock pSucc)

fuseSuccessor

public void fuseSuccessor(BBlock pToBlock)
fuseSuccessor: Fuse the successor pToBlock with this block and make all successors of pToBlock as successors of this block. "this" is a basic block having pToBlock as its only one successor, and pToBlock should have "this" as its only one predecessor. Before invoking this method, this block should be changed to have only one successor pToBlock if the condition is not satisfied. This class(BBlockImpl)'s implementation changes only the predecessor/successor relations.

定義:
インタフェース BBlock 内の fuseSuccessor

getSubpFlow

public SubpFlow getSubpFlow()
インタフェース BBlock の記述:
Returns the SubpFlow object this BBlock belongs to.

定義:
インタフェース BBlock 内の getSubpFlow

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString

toStringVeryShort

public java.lang.String toStringVeryShort()

getDef

public DefVector getDef()
getDef: Get bit vector showing Def set of this block.

戻り値:
bit vector representing Def(B) of this block B.

setDef

public void setDef(DefVector pVect)

getDDef

public DefVector getDDef()

setDDef

public void setDDef(DefVector pVect)

getPDef

public DefVector getPDef()
インタフェース BBlock の記述:
getPDef: Get bit vector showing PDef set of this block. The PDef set of this BBlock corresponds to the DefVector whose set bits correspond to SetRefReprs execution of which may write some data to a memory location and the data on the the location may not have been overwritten when the program control exits this BBlock.

定義:
インタフェース BBlock 内の getPDef
戻り値:
bit vector representing PDef(B) of this block B.

setPDef

public void setPDef(DefVector pVect)
定義:
インタフェース BBlock 内の setPDef

getDKill

public DefVector getDKill()
getKill: Get bit vector showing Kill set of this block.

定義:
インタフェース BBlock 内の getDKill
戻り値:
bit vector representing Kill(B) of this block B.

setDKill

public void setDKill(DefVector pVect)
定義:
インタフェース BBlock 内の setDKill

getPKill

public DefVector getPKill()
getDestroy: Get bit vector showing Destroy set of this block.

定義:
インタフェース BBlock 内の getPKill
戻り値:
bit vector representing Destroy(B) of this block B.

setPKill

public void setPKill(DefVector pVect)
定義:
インタフェース BBlock 内の setPKill

getReach

public DefVector getReach()
getReach: Get bit vector showing Reach set of this block.

戻り値:
bit vector representing Reach(B) of this block B.

setReach

public void setReach(DefVector pVect)

getPReach

public DefVector getPReach()
getReach0: Get bit vector showing Reach0 set of this block.

定義:
インタフェース BBlock 内の getPReach
戻り値:
bit vector representing Reach0(B) of this block B.

setPReach

public void setPReach(DefVector pVect)
定義:
インタフェース BBlock 内の setPReach

setDReach

public void setDReach(DefVector pVect)

getDDefined

public FlowAnalSymVector getDDefined()
getDefined: Get bit vector showing Defined set of this block.

定義:
インタフェース BBlock 内の getDDefined
戻り値:
bit vector representing Defined(B) of this block B.

setDDefined

public void setDDefined(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setDDefined

getPDefined

public FlowAnalSymVector getPDefined()
インタフェース BBlock の記述:
getPDefined: Get bit vector showing PDefined set of this block. The DDefined set is the set of FlowAnalSyms whose value may have changed in this BBlock..

定義:
インタフェース BBlock 内の getPDefined
戻り値:
bit vector representing PDefined(B) of this block B.

setPDefined

public void setPDefined(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setPDefined

getPUsed

public FlowAnalSymVector getPUsed()
getUsed: //##12 Get bit vector showing Used set of this block.

定義:
インタフェース BBlock 内の getPUsed
戻り値:
bit vector representing Used(B) of this block B.

setPUsed

public void setPUsed(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setPUsed

getDExposed

public FlowAnalSymVector getDExposed()
getExposed: Get bit vector showing Exposed set of this block.

定義:
インタフェース BBlock 内の getDExposed
戻り値:
bit vector representing Exposed(B) of this block B.

setDExposed

public void setDExposed(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setDExposed

getPExposed

public FlowAnalSymVector getPExposed()
getExposed: Get bit vector showing Exposed set of this block.

定義:
インタフェース BBlock 内の getPExposed
戻り値:
bit vector representing Exposed(B) of this block B.

setPExposed

public void setPExposed(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setPExposed

getDEGen

public ExpVector getDEGen()
getEGen: Get bit vector showing EGen set of this block.

定義:
インタフェース BBlock 内の getDEGen
戻り値:
bit vector representing EGen(B) of this block B.

setDEGen

public void setDEGen(ExpVector pVect)
定義:
インタフェース BBlock 内の setDEGen

getPEKill

public ExpVector getPEKill()
getEKill: Get bit vector showing EKill set of this block.

定義:
インタフェース BBlock 内の getPEKill
戻り値:
bit vector representing EKill(B) of this block B.

setPEKill

public void setPEKill(ExpVector pVect)
定義:
インタフェース BBlock 内の setPEKill

getDAvailIn

public ExpVector getDAvailIn()
getAvailIn: Get bit vector showing AvailIn set of this block.

定義:
インタフェース BBlock 内の getDAvailIn
戻り値:
bit vector representing AvailIn(B) of this block B.

setDAvailIn

public void setDAvailIn(ExpVector pVect)
定義:
インタフェース BBlock 内の setDAvailIn

getDAvailOut

public ExpVector getDAvailOut()
getAvailOut: Get bit vector showing AvailOut set of this block.

定義:
インタフェース BBlock 内の getDAvailOut
戻り値:
bit vector representing AvailOut(B) of this block B.

setDAvailOut

public void setDAvailOut(ExpVector pVect)
定義:
インタフェース BBlock 内の setDAvailOut

getPLiveIn

public FlowAnalSymVector getPLiveIn()
getLiveIn: Get bit vector showing LiveIn set of this block.

定義:
インタフェース BBlock 内の getPLiveIn
戻り値:
bit vector representing LiveIn(B) of this block B.

setPLiveIn

public void setPLiveIn(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setPLiveIn

getPLiveOut

public FlowAnalSymVector getPLiveOut()
getLiveOut: Get bit vector showing LiveOut set of this block.

定義:
インタフェース BBlock 内の getPLiveOut
戻り値:
bit vector representing LiveOut(B) of this block B.

setPLiveOut

public void setPLiveOut(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setPLiveOut

getDDefIn

public FlowAnalSymVector getDDefIn()
getDefIn: Get bit vector showing DefIn set of this block.

定義:
インタフェース BBlock 内の getDDefIn
戻り値:
bit vector representing DefIn(B) of this block B.

setDDefIn

public void setDDefIn(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setDDefIn

getDDefOut

public FlowAnalSymVector getDDefOut()
getDefOut: Get bit vector showing DefOut set of this block.

定義:
インタフェース BBlock 内の getDDefOut
戻り値:
bit vector representing DefOut(B) of this block B.

setDDefOut

public void setDDefOut(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setDDefOut

isDDef

public boolean isDDef(SetRefRepr pSetRefRepr)
インタフェース BBlock の記述:
isDef: See if definition at position pPos is done in this block.

定義:
インタフェース BBlock 内の isDDef
戻り値:
true if the definition is done in this block, false otherwise.

isPDef

public boolean isPDef(SetRefRepr pSetRefRepr)
定義:
インタフェース BBlock 内の isPDef

isDKill

public boolean isDKill(SetRefRepr pSetRefRepr)
インタフェース BBlock の記述:
isKill: See if definition at position pPos is killed in this block.

定義:
インタフェース BBlock 内の isDKill
戻り値:
true if the definition at pPos is killed in this block, false otherwise.

isPKill

public boolean isPKill(SetRefRepr pSetRefRepr)
定義:
インタフェース BBlock 内の isPKill

isPReach

public boolean isPReach(SetRefRepr pSetRefRepr)
isReach: See if definition at position pPos reaches to the entry point of this block.

定義:
インタフェース BBlock 内の isPReach
戻り値:
true if the definition at pPos reaches to the entry point of this block, false otherwise.

isDDefined

public boolean isDDefined(Sym pSym)
インタフェース BBlock の記述:
isDefined: See if the value of pSym is defined in this block.

定義:
インタフェース BBlock 内の isDDefined
戻り値:
true if p(def(pSym)) is included in this block, false otherwise.

isPDefined

public boolean isPDefined(Sym pSym)
インタフェース BBlock の記述:
isModified: See if the value of pSym is modified in this block.

定義:
インタフェース BBlock 内の isPDefined
戻り値:
true if p(mod(pSym)) is included in this block, false otherwise.

isDUsed

public boolean isDUsed(Sym pSym)
インタフェース BBlock の記述:
isUsed: //##12 See if the value of pSym is used in this block.

定義:
インタフェース BBlock 内の isDUsed
戻り値:
true if p(use(pSym)) is included in this block, false otherwise.

isPUsed

public boolean isPUsed(Sym pSym)
定義:
インタフェース BBlock 内の isPUsed

isDExposed

public boolean isDExposed(Sym pSym)
インタフェース BBlock の記述:
isExposed: See if the variable of pSym is used in this block without setting its value in this block.

定義:
インタフェース BBlock 内の isDExposed
戻り値:
true if pSym is used in this block and it is not set in this block before the use point.

isPExposed

public boolean isPExposed(Sym pSym)
定義:
インタフェース BBlock 内の isPExposed

isDEGen

public boolean isDEGen(FlowExpId pExpId)
インタフェース BBlock の記述:
isEGen: See if expression designated by pReg is generated (computed in this block and afterwards its operand is not changed) in this block.

定義:
インタフェース BBlock 内の isDEGen
戻り値:
true if the expression is generated in this block, false otherwise.

isPEKill

public boolean isPEKill(FlowExpId pExpId)
インタフェース BBlock の記述:
isEKill: See if expression designated by pReg is killed (its operand is defined) in this block.

定義:
インタフェース BBlock 内の isPEKill
戻り値:
true if the expression is killed in this block, false otherwise.

isDAvailIn

public boolean isDAvailIn(FlowExpId pExpId)
インタフェース BBlock の記述:
isAvailIn: See if the expression represented by pExpId is available (value is always computed) at entry to this block.

定義:
インタフェース BBlock 内の isDAvailIn
戻り値:
true if pExpId is available at entry to this block, false otherwise.

isDAvailOut

public boolean isDAvailOut(FlowExpId pExpId)
インタフェース BBlock の記述:
isAvailOut: See if the expression represented by pExpId is available (value is always computed) at exit from this block.

定義:
インタフェース BBlock 内の isDAvailOut
戻り値:
true if pExpId is available at exit from this block, false otherwise.

isPLiveIn

public boolean isPLiveIn(Sym pSym)
インタフェース BBlock の記述:
isLiveIn: See if pSym is live at entry to this block (value at entry is used in this block or in some successor of this block).

定義:
インタフェース BBlock 内の isPLiveIn
戻り値:
true if pSym is live at entry to this block, false otherwise.

isPLiveOut

public boolean isPLiveOut(Sym pSym)
インタフェース BBlock の記述:
isLiveOut: See if pSym is live at exit from this block (value at exit is used in some successor of this block).

定義:
インタフェース BBlock 内の isPLiveOut
戻り値:
true if pSym is live at exit from this block, false otherwise.

isDDefIn

public boolean isDDefIn(Sym pSym)
インタフェース BBlock の記述:
isDefIn: See if pSym is always defined at entry to this block whichever path may be take.

定義:
インタフェース BBlock 内の isDDefIn
戻り値:
true if pSym is always defined at entry to this block, false otherwise.

isDDefOut

public boolean isDDefOut(Sym pSym)
インタフェース BBlock の記述:
isDefOut: See if pSym is always defined at exit from this block.

定義:
インタフェース BBlock 内の isDDefOut
戻り値:
true if pSym is always defined at exit from this block, false otherwise.

getDUsed

public FlowAnalSymVector getDUsed()
インタフェース BBlock の記述:
getDUsed: //##12 Get bit vector showing DUsed set of this block. DUsed set is the union of all used sets of SetRefReprs (specified by SetRefRepr#getUseSyms()).

定義:
インタフェース BBlock 内の getDUsed
戻り値:
bit vector representing DUsed(B) of this block B.

setDUsed

public void setDUsed(FlowAnalSymVector pVect)
定義:
インタフェース BBlock 内の setDUsed