coins.flow
インタフェース LoopInf

既知の実装クラスの一覧:
LoopInfImpl

public interface LoopInf

LoopInf interface Interface for loop information. LoopInf IS NOT USED ANY MORE. lparallel used LoopInfo of lparallel. //##78


フィールドの概要
static int HAS_CALL
           
static int HAS_PTR_ASSIGN
           
static int HAS_STRUCT_UNION
           
static int IRREDUCIBLE
           
static int USE_PTR
           
 
メソッドの概要
 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)
           
 

フィールドの詳細

IRREDUCIBLE

public static final int IRREDUCIBLE
関連項目:
定数フィールド値

HAS_CALL

public static final int HAS_CALL
関連項目:
定数フィールド値

HAS_PTR_ASSIGN

public static final int HAS_PTR_ASSIGN
関連項目:
定数フィールド値

USE_PTR

public static final int USE_PTR
関連項目:
定数フィールド値

HAS_STRUCT_UNION

public static final int HAS_STRUCT_UNION
関連項目:
定数フィールド値
メソッドの詳細

getParent

public 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. If there is no parent, then getParent rerurns null.


setParent

public void setParent(LoopInf pParent)

getFirstChild

public 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. If there is no child, then getFirstChild rerurns null.


setFirstChild

public void setFirstChild(LoopInf pChild)

getNextBrother

public 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. If there is no next brother, then getNextBrother rerurns null.


setNextBrother

public void setNextBrother(LoopInf pBrother)

getBBlockList

public java.util.List getBBlockList()

getEntryBBlock

public BBlock getEntryBBlock()
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.

戻り値:
thte entry BBlock.

setEntryBBlock

public void setEntryBBlock(BBlock pEntryBBlock)
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.

パラメータ:
pEntryBBlock - principal entry BBlock. The entry BBlock is added to the BBlock list of this LoopInf and its parent.

addBBlock

public void addBBlock(BBlock pBBlock)
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.

パラメータ:
pBBlock - BBlock to be added.

deleteBBlock

public void deleteBBlock(BBlock pBBlock)
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.

パラメータ:
pBBlock - BBlock to be deleted.

getAlternateEntryNodeList

public java.util.List getAlternateEntryNodeList()
getAlternateEntryNodeList Get the list of alternate entry node. If there is no alternate entry node (reducible loop) then return null.

戻り値:
the list of alternate entry node.

getAlternateEntryBBlockList

public java.util.List getAlternateEntryBBlockList()
getAlternateEntryBBlockList Get the list of alternate entry BBlock. If there is no alternate entry BBlock (reducible loop) then return null.

戻り値:
the list of alternate entry BBlock.

addAlternateEntryNode

public void addAlternateEntryNode(IR pEntryNode)
addAlternateEntryNode Add pEntryNode as an alternate entry node of this LoopInf. Duplication is avoided.

パラメータ:
pEntryNode - an alternate entry node.

addAlternateEntryBBlock

public void addAlternateEntryBBlock(BBlock pEntryBBlock)
addAlternateEntryBBlock Add pEntryBBlock as an alternate entry BBlock of this LoopInf. Duplication is avoided.

パラメータ:
pEntryBBlock - an alternate entry BBlock.

getFlag

public boolean getFlag(int pFlagNumber)
getFlag setFlag getFlag returns the value (true/false) of the flag indicated by pFlagNumber. setFlag sets the flag of specified number.

パラメータ:
pFlagNumber - flag identification number (see below).

setFlag

public void setFlag(int pFlagNumber,
                    boolean pYesNo)

propagateFlag

public 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.


print

public void print(int pDebugLevel)
print Print this LoopInf and its children and brother LoopInf for debugging purpose if dbgFlow >= pDebigLevel.