|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
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.
| Field Summary |
| Fields inherited from interface coins.ir.hir.HIR |
OP_CODE_NAME, OP_CODE_NAME_DENSE |
| Fields inherited from interface coins.ir.IR |
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF |
| Method Summary | |
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. |
| Methods inherited from interface coins.ir.hir.Stmt |
addNextStmt, ancestorControlStmtOfConditionalExp, attachLabel, attachLabelAsFirstOne, combineStmt, combineWithConditionalExp, copyPosition, cutLabelLinkOfStmt, deleteThisStmt, getBlockStmt, getFileName, getLabel, getLabelDefList, getLabeledStmt, getLineNumber, getPreviousStmt, getUpperStmt, insertPreviousStmt, insertPreviousStmt, isBranchStmt, isMultiBlock, isolateThisStmt, replaceThisStmtWith, setFileName, setLineNumber |
| Methods inherited from interface coins.ir.hir.HIR |
addrExp, asmStmt, checkLinkage, conditionalExp, contains, copyInfListFrom, cutParentLink, exp, expList, expRepeat, forStmt, getExpId, getFlowAnalSym, getIndentSpace, getInfString, getIrName, getSourceNode, getSourceNode1, getSourceNode2, getSymOrExpId, getWork, hirNodeClone, hirSeq, hirSeq, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, irList, isEmpty, isStmt, isTree, nullNode, nullStmt, offsetConstNode, phiExp, repeatStmt, replaceSource, replaceSource1, replaceSource2, returnStmt, setChild1, setChild2, setChildren, setChildren, setDataStmt, setIndex, setIndexNumberToAllNodes, setParent, setType, setWork, subpDefinition, subpIterator, subscriptedExp, toString, toStringDetail, toStringShort, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt |
| Methods inherited from interface coins.ir.IR |
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, removeInf |
| Methods inherited from interface coins.ir.IR0 |
getChild, getChildCount, getIndex, getOperator, setChild |
| Methods inherited from interface 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 |
| Method Detail |
public Var getLoopIndex()
public Exp getStartValue()
public Exp getEndValue()
public Exp getStepValue()
public boolean isUpward()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||