public class BasicInductionVariable extends InductionVariable
InductionVariable.Direction
Modifier and Type | Field and Description |
---|---|
private ValueNode |
init |
private BinaryArithmeticNode<?> |
op |
private ValuePhiNode |
phi |
private 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() |
ValueNode |
exitValueNode()
Returns the exit value of the induction variable.
|
ValueNode |
extremumNode(boolean assumePositiveTripCount,
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 |
strideNode()
Returns the stride of the induction variable.
|
String |
toString() |
ValuePhiNode |
valueNode()
Returns the value node that is described by this induction variable.
|
extremumNode, getLoop
private final ValuePhiNode phi
private final BinaryArithmeticNode<?> op
public BasicInductionVariable(LoopEx loop, ValuePhiNode phi, ValueNode init, ValueNode rawStride, BinaryArithmeticNode<?> op)
public StructuredGraph graph()
graph
in class InductionVariable
public BinaryArithmeticNode<?> getOp()
public InductionVariable.Direction direction()
direction
in class InductionVariable
public ValuePhiNode valueNode()
InductionVariable
valueNode
in class InductionVariable
public ValueNode initNode()
InductionVariable
initNode
in class InductionVariable
public ValueNode strideNode()
InductionVariable
strideNode
in class InductionVariable
public boolean isConstantInit()
isConstantInit
in class InductionVariable
public boolean isConstantStride()
isConstantStride
in class InductionVariable
public long constantInit()
constantInit
in class InductionVariable
public long constantStride()
constantStride
in class InductionVariable
public ValueNode extremumNode(boolean assumePositiveTripCount, Stamp stamp)
extremumNode
in class InductionVariable
public ValueNode exitValueNode()
InductionVariable
exitValueNode
in class InductionVariable
public boolean isConstantExtremum()
isConstantExtremum
in class InductionVariable
public long constantExtremum()
constantExtremum
in class InductionVariable
public void deleteUnusedNodes()
InductionVariable
deleteUnusedNodes
in class InductionVariable