82 public abstract ValueNode strideNode();
83
84 public abstract boolean isConstantInit();
85
86 public abstract boolean isConstantStride();
87
88 public abstract long constantInit();
89
90 public abstract long constantStride();
91
92 /**
93 * Returns the extremum value of the induction variable. The extremum value is the value of the
94 * induction variable in the loop body of the last iteration, only taking into account the main
95 * loop limit test. It's possible for the loop to exit before this value if
96 * {@link CountedLoopInfo#isExactTripCount()} returns false for the containing loop.
97 */
98 public ValueNode extremumNode() {
99 return extremumNode(false, valueNode().stamp(NodeView.DEFAULT));
100 }
101
102 public abstract ValueNode extremumNode(boolean assumePositiveTripCount, Stamp stamp);
103
104 public abstract boolean isConstantExtremum();
105
106 public abstract long constantExtremum();
107
108 /**
109 * Returns the exit value of the induction variable. The exit value is the value of the
110 * induction variable at the loop exit.
111 */
112 public abstract ValueNode exitValueNode();
113
114 /**
115 * Deletes any nodes created within the scope of this object that have no usages.
116 */
117 public abstract void deleteUnusedNodes();
118 }
|
82 public abstract ValueNode strideNode();
83
84 public abstract boolean isConstantInit();
85
86 public abstract boolean isConstantStride();
87
88 public abstract long constantInit();
89
90 public abstract long constantStride();
91
92 /**
93 * Returns the extremum value of the induction variable. The extremum value is the value of the
94 * induction variable in the loop body of the last iteration, only taking into account the main
95 * loop limit test. It's possible for the loop to exit before this value if
96 * {@link CountedLoopInfo#isExactTripCount()} returns false for the containing loop.
97 */
98 public ValueNode extremumNode() {
99 return extremumNode(false, valueNode().stamp(NodeView.DEFAULT));
100 }
101
102 public abstract ValueNode extremumNode(boolean assumeLoopEntered, Stamp stamp);
103
104 public abstract boolean isConstantExtremum();
105
106 public abstract long constantExtremum();
107
108 /**
109 * Returns the exit value of the induction variable. The exit value is the value of the
110 * induction variable at the loop exit.
111 */
112 public abstract ValueNode exitValueNode();
113
114 /**
115 * Deletes any nodes created within the scope of this object that have no usages.
116 */
117 public abstract void deleteUnusedNodes();
118 }
|