public class DerivedScaledInductionVariable extends DerivedInductionVariable
InductionVariable.Directionbaseloop| Constructor and Description |
|---|
DerivedScaledInductionVariable(LoopEx loop,
InductionVariable base,
NegateNode value) |
DerivedScaledInductionVariable(LoopEx loop,
InductionVariable base,
ValueNode scale,
ValueNode value) |
| Modifier and Type | Method and Description |
|---|---|
long |
constantExtremum() |
long |
constantInit() |
long |
constantScale(InductionVariable ref)
this = C * ref + n, returns C.
|
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 assumeLoopEntered,
Stamp stamp) |
ValueNode |
getScale() |
ValueNode |
initNode()
Returns the node that gives the initial value of this induction variable.
|
boolean |
isConstantExtremum() |
boolean |
isConstantInit() |
boolean |
isConstantScale(InductionVariable ref)
Is this = C * ref + n, C a constant?
|
boolean |
isConstantStride() |
boolean |
offsetIsZero(InductionVariable ref)
Is this = n * ref + 0?
|
ValueNode |
offsetNode(InductionVariable ref)
If this = n * ref + offset, returns offset or null otherwise.
|
ValueNode |
strideNode()
Returns the stride of the induction variable.
|
String |
toString() |
ValueNode |
valueNode()
Returns the value node that is described by this induction variable.
|
getBase, graphextremumNode, getLooppublic DerivedScaledInductionVariable(LoopEx loop, InductionVariable base, ValueNode scale, ValueNode value)
public DerivedScaledInductionVariable(LoopEx loop, InductionVariable base, NegateNode value)
public ValueNode getScale()
public ValueNode valueNode()
InductionVariablevalueNode in class InductionVariablepublic InductionVariable.Direction direction()
direction in class InductionVariablepublic ValueNode initNode()
InductionVariableinitNode in class InductionVariablepublic 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 InductionVariablepublic boolean isConstantScale(InductionVariable ref)
InductionVariableisConstantScale in class InductionVariablepublic long constantScale(InductionVariable ref)
InductionVariableconstantScale in class InductionVariablepublic boolean offsetIsZero(InductionVariable ref)
InductionVariableoffsetIsZero in class InductionVariablepublic ValueNode offsetNode(InductionVariable ref)
InductionVariableoffsetNode in class InductionVariable