coins.flow
クラス LoopInfImpl

java.lang.Object
  |
  +--coins.flow.LoopInfImpl
すべての実装インタフェース:
LoopInf

public class LoopInfImpl
extends java.lang.Object
implements LoopInf

LoopInfImpl Loop information class. LoopInf IS NOT USED ANY MORE. lparallel used LoopInfo of lparallel. //##78


フィールドの概要
protected  java.util.LinkedList fAlternateEntryBBlockList
           
protected  java.util.LinkedList fAlternateEntryNodeList
           
protected  java.util.LinkedList fBBlockList
           
protected  BBlock fEntryBBlock
           
protected  IR fEntryNode
           
protected  LoopInf fFirstChild
           
protected  FlagBox fFlagBox
           
protected  FlowRoot flowRoot
           
protected  LoopInf fNextBrother
           
protected  LoopInf fParent
           
 
インタフェース coins.flow.LoopInf から継承したフィールド
HAS_CALL, HAS_PTR_ASSIGN, HAS_STRUCT_UNION, IRREDUCIBLE, USE_PTR
 
コンストラクタの概要
LoopInfImpl(FlowRoot pFlowRoot, IR pEntryNode)
           
 
メソッドの概要
 void addAlternateEntryBBlock(BBlock pEntryBBlock)
          addAlternateEntryBBlock Add pEntryBBlock as an alternate entry BBlock of this LoopInf.
 void addAlternateEntryNode(IR pEntryNode)
          addAlternateEntryNode Add pEntryNode as an alternate entry node of this LoopInf.
 void addBBlock(BBlock pBBlock)
          addBBlock Add pBBlock to the BBlock list of this LoopInf.
 void deleteBBlock(BBlock pBBlock)
          deleteBBlock Delete pBBlock from the BBlock list of this LoopInf.
 java.util.List getAlternateEntryBBlockList()
          getAlternateEntryBBlockList Get the list of alternate entry BBlock.
 java.util.List getAlternateEntryNodeList()
          getAlternateEntryNodeList Get the list of alternate entry node.
 java.util.List getBBlockList()
           
 BBlock getEntryBBlock()
          getEntryBBlock Get entry BBlock of the loop corresponding to this LoopInf.
 LoopInf getFirstChild()
          getFirstChild setFirstChild Get/set the first child LoopInf of this LoopInf, where, the first child LoopInf is the LoopInf corresponding to the first loop directly contained in the loop correnponding to this LoopInf.
 boolean getFlag(int pFlagNumber)
          getFlag setFlag getFlag returns the value (true/false) of the flag indicated by pFlagNumber.
 LoopInf getNextBrother()
          getNextBrother setNextBrother Get/set the next brother LoopInf of this LoopInf, where, the next brother LoopInf is the LoopInf having the same parent LoopInf as this LoopInf.
 LoopInf getParent()
          getParent setParent Get/set parent LoopInf of this LoopInf, where, parent LoopInf is the LoopInf corresponding to the loop directly containing the loop correnponding to this LoopInf.
 void print(int pDebugLevel)
          print Print this LoopInf and its children and brother LoopInf for debugging purpose if dbgFlow >= pDebigLevel.
 void propagateFlag(int pFlagNumber)
          propagateFlag Set flag of pFlagNumber to be true and if this has parent, then set the same flag of the parent and its ancestors.
 void setEntryBBlock(BBlock pEntryBBlock)
          setEntryBBlock Set entry BBlock of the loop corresponding to this LoopInf.
 void setFirstChild(LoopInf pChild)
           
 void setFlag(int pFlagNumber, boolean pYesNo)
           
 void setNextBrother(LoopInf pBrother)
           
 void setParent(LoopInf pParent)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

flowRoot

protected final FlowRoot flowRoot

fParent

protected LoopInf fParent

fFirstChild

protected LoopInf fFirstChild

fNextBrother

protected LoopInf fNextBrother

fBBlockList

protected java.util.LinkedList fBBlockList

fEntryNode

protected IR fEntryNode

fAlternateEntryNodeList

protected java.util.LinkedList fAlternateEntryNodeList

fEntryBBlock

protected BBlock fEntryBBlock

fAlternateEntryBBlockList

protected java.util.LinkedList fAlternateEntryBBlockList

fFlagBox

protected FlagBox fFlagBox
コンストラクタの詳細

LoopInfImpl

public LoopInfImpl(FlowRoot pFlowRoot,
                   IR pEntryNode)
メソッドの詳細

getParent

public LoopInf getParent()
インタフェース LoopInf の記述:
getParent setParent Get/set parent LoopInf of this LoopInf, where, parent LoopInf is the LoopInf corresponding to the loop directly containing the loop correnponding to this LoopInf. If there is no parent, then getParent rerurns null.

定義:
インタフェース LoopInf 内の getParent

setParent

public void setParent(LoopInf pParent)
定義:
インタフェース LoopInf 内の setParent

getFirstChild

public LoopInf getFirstChild()
インタフェース LoopInf の記述:
getFirstChild setFirstChild Get/set the first child LoopInf of this LoopInf, where, the first child LoopInf is the LoopInf corresponding to the first loop directly contained in the loop correnponding to this LoopInf. If there is no child, then getFirstChild rerurns null.

定義:
インタフェース LoopInf 内の getFirstChild

setFirstChild

public void setFirstChild(LoopInf pChild)
定義:
インタフェース LoopInf 内の setFirstChild

getNextBrother

public LoopInf getNextBrother()
インタフェース LoopInf の記述:
getNextBrother setNextBrother Get/set the next brother LoopInf of this LoopInf, where, the next brother LoopInf is the LoopInf having the same parent LoopInf as this LoopInf. If there is no next brother, then getNextBrother rerurns null.

定義:
インタフェース LoopInf 内の getNextBrother

setNextBrother

public void setNextBrother(LoopInf pBrother)
定義:
インタフェース LoopInf 内の setNextBrother

getEntryBBlock

public BBlock getEntryBBlock()
インタフェース LoopInf の記述:
getEntryBBlock Get entry BBlock of the loop corresponding to this LoopInf. If there are several entry (irreducible loop), get the BBlock that is set by setEntryBBlock.

定義:
インタフェース LoopInf 内の getEntryBBlock
戻り値:
thte entry BBlock.

setEntryBBlock

public void setEntryBBlock(BBlock pEntryBBlock)
インタフェース LoopInf の記述:
setEntryBBlock Set entry BBlock of the loop corresponding to this LoopInf. If there are several entry (irreducible loop), select one of them as principal entry BBlock and set it as the entry BBlock.

定義:
インタフェース LoopInf 内の setEntryBBlock
パラメータ:
pEntryBBlock - principal entry BBlock. The entry BBlock is added to the BBlock list of this LoopInf and its parent.

getBBlockList

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

addBBlock

public void addBBlock(BBlock pBBlock)
インタフェース LoopInf の記述:
addBBlock Add pBBlock to the BBlock list of this LoopInf. If pBBlock has not yet linked to LoopInf, then it is linked to this LoopInf (inner-most LoopInf containing pBBlock). If this LoopInf has parent, then pBBlock is added to the parent LoopInf, too.

定義:
インタフェース LoopInf 内の addBBlock
パラメータ:
pBBlock - BBlock to be added.

deleteBBlock

public void deleteBBlock(BBlock pBBlock)
インタフェース LoopInf の記述:
deleteBBlock Delete pBBlock from the BBlock list of this LoopInf. The linkage to LoopInf of pBBlock is nullified. If this LoopInf has parent, then pBBlock is deleted from the parent LoopInf, too.

定義:
インタフェース LoopInf 内の deleteBBlock
パラメータ:
pBBlock - BBlock to be deleted.

getAlternateEntryNodeList

public java.util.List getAlternateEntryNodeList()
インタフェース LoopInf の記述:
getAlternateEntryNodeList Get the list of alternate entry node. If there is no alternate entry node (reducible loop) then return null.

定義:
インタフェース LoopInf 内の getAlternateEntryNodeList
戻り値:
the list of alternate entry node.

getAlternateEntryBBlockList

public java.util.List getAlternateEntryBBlockList()
インタフェース LoopInf の記述:
getAlternateEntryBBlockList Get the list of alternate entry BBlock. If there is no alternate entry BBlock (reducible loop) then return null.

定義:
インタフェース LoopInf 内の getAlternateEntryBBlockList
戻り値:
the list of alternate entry BBlock.

addAlternateEntryNode

public void addAlternateEntryNode(IR pEntryNode)
インタフェース LoopInf の記述:
addAlternateEntryNode Add pEntryNode as an alternate entry node of this LoopInf. Duplication is avoided.

定義:
インタフェース LoopInf 内の addAlternateEntryNode
パラメータ:
pEntryNode - an alternate entry node.

addAlternateEntryBBlock

public void addAlternateEntryBBlock(BBlock pEntryBBlock)
インタフェース LoopInf の記述:
addAlternateEntryBBlock Add pEntryBBlock as an alternate entry BBlock of this LoopInf. Duplication is avoided.

定義:
インタフェース LoopInf 内の addAlternateEntryBBlock
パラメータ:
pEntryBBlock - an alternate entry BBlock.

getFlag

public boolean getFlag(int pFlagNumber)
インタフェース LoopInf の記述:
getFlag setFlag getFlag returns the value (true/false) of the flag indicated by pFlagNumber. setFlag sets the flag of specified number.

定義:
インタフェース LoopInf 内の getFlag
パラメータ:
pFlagNumber - flag identification number (see below).

setFlag

public void setFlag(int pFlagNumber,
                    boolean pYesNo)
定義:
インタフェース LoopInf 内の setFlag

propagateFlag

public void propagateFlag(int pFlagNumber)
インタフェース LoopInf の記述:
propagateFlag Set flag of pFlagNumber to be true and if this has parent, then set the same flag of the parent and its ancestors.

定義:
インタフェース LoopInf 内の propagateFlag

print

public void print(int pDebugLevel)
インタフェース LoopInf の記述:
print Print this LoopInf and its children and brother LoopInf for debugging purpose if dbgFlow >= pDebigLevel.

定義:
インタフェース LoopInf 内の print