coins.aflow
インタフェース LoopInf

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

public interface LoopInf

LoopInf interface //##10 Interface for loop information.


フィールドの概要
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.


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.


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.


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.


addAlternateEntryBBlock

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


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.


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.