public class BasicInductionVariable extends InductionVariable
InductionVariable.Direction| Modifier and Type | Field and Description |
|---|---|
protected ValueNode |
init |
protected BinaryArithmeticNode<?> |
op |
protected ValuePhiNode |
phi |
protected ValueNode |
rawStride |
loop| Constructor and Description |
|---|
BasicInductionVariable(LoopEx loop,
ValuePhiNode phi,
ValueNode init,
ValueNode rawStride,
BinaryArithmeticNode<?> op) |
| Modifier and Type | Method and Description |
|---|---|
long |
constantExtremum() |
long |
constantInit() |
long |
constantStride() |
void |
deleteUnusedNodes()
Deletes any nodes created within the scope of this object that have no usages.
|
InductionVariable.Direction |
direction() |
InductionVariable |
duplicate()
Duplicate this iv including all (non-constant) nodes.
|
ValueNode |
exitValueNode()
Returns the exit value of the induction variable.
|
ValueNode |
extremumNode(boolean assumeLoopEntered,
Stamp stamp) |
BinaryArithmeticNode<?> |
getOp() |
StructuredGraph |
graph() |
ValueNode |
initNode()
Returns the node that gives the initial value of this induction variable.
|
boolean |
isConstantExtremum() |
boolean |
isConstantInit() |
boolean |
isConstantStride() |
ValueNode |
rawStride() |
void |
setOp(BinaryArithmeticNode<?> newOp) |
ValueNode |
strideNode()
Returns the stride of the induction variable.
|
String |
toString() |
ValuePhiNode |
valueNode()
Returns the value node that is described by this induction variable.
|
constantScale, extremumNode, getLoop, isConstantScale, offsetIsZero, offsetNodeprotected final ValuePhiNode phi
protected final ValueNode init
protected ValueNode rawStride
protected BinaryArithmeticNode<?> op
public BasicInductionVariable(LoopEx loop, ValuePhiNode phi, ValueNode init, ValueNode rawStride, BinaryArithmeticNode<?> op)
public InductionVariable duplicate()
InductionVariableduplicate in class InductionVariablepublic StructuredGraph graph()
graph in class InductionVariablepublic BinaryArithmeticNode<?> getOp()
public void setOp(BinaryArithmeticNode<?> newOp)
public InductionVariable.Direction direction()
direction in class InductionVariablepublic ValuePhiNode valueNode()
InductionVariablevalueNode in class InductionVariablepublic ValueNode initNode()
InductionVariableinitNode in class InductionVariablepublic ValueNode rawStride()
public ValueNode strideNode()
InductionVariablestrideNode in class InductionVariablepublic boolean isConstantInit()
isConstantInit in class InductionVariablepublic boolean isConstantStride()
isConstantStride in class InductionVariablepublic long constantInit()
constantInit in class InductionVariablepublic long constantStride()
constantStride in class InductionVariablepublic ValueNode extremumNode(boolean assumeLoopEntered, Stamp stamp)
extremumNode in class InductionVariablepublic ValueNode exitValueNode()
InductionVariableexitValueNode in class InductionVariablepublic boolean isConstantExtremum()
isConstantExtremum in class InductionVariablepublic long constantExtremum()
constantExtremum in class InductionVariablepublic void deleteUnusedNodes()
InductionVariabledeleteUnusedNodes in class InductionVariable