|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
IndexedLoop-statement interface. IndexedLoopStmt is created as a general loop where contents of ConditionalInitPart_, EndCondition_, LoopEndPart_ are null at first (but they may become not null by some optimizing transformation). IndexedLoopStmt represents a Fortran type loop where value of loop index is incremented or decremented by loop step value starting from loop start value and stops to loop before crossing the barrier of loop end value. The loop index is a simple variable. It may be integer variable (short int, int, long int, long long int) or floating variable (float, double). The values of loop start value, loop end value, and loop step value are fixed at entry to the loop and do not change until terminating the loop. If upward parameter is true, then the loop index is incremented up to but not exceeding the loop end value. If upward parameter is false, then the loop index is decremented down to but not crossing the loop end value. The loop start value, loop end value, loop step value are converted to the type of loop index if their type differ from the type of the loop index. If the index variable is a floating variable, then repetition count is computed at the entry to the loop by the formula MAX( INT( (- + ) / ), 0) if upward parameter is true, or by the formula MAX( INT( ( - + ) / ), 0) if upward parameter is false. The loop step value should be positive.
フィールドの概要 |
インタフェース coins.ir.hir.HIR から継承したフィールド |
OP_CODE_NAME, OP_CODE_NAME_DENSE |
インタフェース coins.ir.IR から継承したフィールド |
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF |
メソッドの概要 | |
Exp |
getEndValue()
getEndValue Get the end value of the loop index. |
Var |
getLoopIndex()
getLoopIndex Get the loop index variable of this loop. |
Exp |
getStartValue()
getStartValue Get the start value of the loop index. |
Exp |
getStepValue()
getStepValue Get the step value of this loop. |
boolean |
isUpward()
isUpward See whether upward or downword. |
インタフェース coins.ir.IR から継承したメソッド |
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, removeInf |
インタフェース coins.ir.IR0 から継承したメソッド |
getChild, getChildCount, getIndex, getOperator, setChild |
インタフェース coins.ir.hir.HIR0 から継承したメソッド |
accept, assignStmt, blockStmt, callStmt, constNode, contentsExp, convExp, copyWithOperands, copyWithOperandsChangingLabels, decayExp, elemNode, exp, exp, expStmt, falseNode, finishHir, forStmt, functionExp, getChildNumber, getFlag, getFlagBox, getNextStmt, getStmtContainingThisNode, getType, hirClone, hirIterator, hirList, hirSeq, ifStmt, intConstNode, irList, isSameAs, jumpStmt, labelDef, labeledStmt, labelNode, pointedExp, print, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt |
メソッドの詳細 |
public Var getLoopIndex()
public Exp getStartValue()
public Exp getEndValue()
public Exp getStepValue()
public boolean isUpward()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |