< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/InductionVariable.java

Print this page




  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 }
< prev index next >