93 public boolean isConstantInit() { 94 return scale.isConstant() && base.isConstantInit(); 95 } 96 97 @Override 98 public boolean isConstantStride() { 99 return scale.isConstant() && base.isConstantStride(); 100 } 101 102 @Override 103 public long constantInit() { 104 return base.constantInit() * scale.asJavaConstant().asLong(); 105 } 106 107 @Override 108 public long constantStride() { 109 return base.constantStride() * scale.asJavaConstant().asLong(); 110 } 111 112 @Override 113 public ValueNode extremumNode(boolean assumePositiveTripCount, Stamp stamp) { 114 return mul(graph(), base.extremumNode(assumePositiveTripCount, stamp), IntegerConvertNode.convert(scale, stamp, graph(), NodeView.DEFAULT)); 115 } 116 117 @Override 118 public ValueNode exitValueNode() { 119 return mul(graph(), base.exitValueNode(), scale); 120 } 121 122 @Override 123 public boolean isConstantExtremum() { 124 return scale.isConstant() && base.isConstantExtremum(); 125 } 126 127 @Override 128 public long constantExtremum() { 129 return base.constantExtremum() * scale.asJavaConstant().asLong(); 130 } 131 132 @Override 133 public void deleteUnusedNodes() { 134 GraphUtil.tryKillUnused(scale); | 93 public boolean isConstantInit() { 94 return scale.isConstant() && base.isConstantInit(); 95 } 96 97 @Override 98 public boolean isConstantStride() { 99 return scale.isConstant() && base.isConstantStride(); 100 } 101 102 @Override 103 public long constantInit() { 104 return base.constantInit() * scale.asJavaConstant().asLong(); 105 } 106 107 @Override 108 public long constantStride() { 109 return base.constantStride() * scale.asJavaConstant().asLong(); 110 } 111 112 @Override 113 public ValueNode extremumNode(boolean assumeLoopEntered, Stamp stamp) { 114 return mul(graph(), base.extremumNode(assumeLoopEntered, stamp), IntegerConvertNode.convert(scale, stamp, graph(), NodeView.DEFAULT)); 115 } 116 117 @Override 118 public ValueNode exitValueNode() { 119 return mul(graph(), base.exitValueNode(), scale); 120 } 121 122 @Override 123 public boolean isConstantExtremum() { 124 return scale.isConstant() && base.isConstantExtremum(); 125 } 126 127 @Override 128 public long constantExtremum() { 129 return base.constantExtremum() * scale.asJavaConstant().asLong(); 130 } 131 132 @Override 133 public void deleteUnusedNodes() { 134 GraphUtil.tryKillUnused(scale); |