< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RightShiftNode.java
Print this page
rev 52509 : [mq]: graal2
@@ -46,10 +46,17 @@
public RightShiftNode(ValueNode x, ValueNode y) {
super(TYPE, ArithmeticOpTable::getShr, x, y);
}
+ public static ValueNode create(ValueNode x, int y, NodeView view) {
+ if (y == 0) {
+ return x;
+ }
+ return create(x, ConstantNode.forInt(y), view);
+ }
+
public static ValueNode create(ValueNode x, ValueNode y, NodeView view) {
ArithmeticOpTable.ShiftOp<Shr> op = ArithmeticOpTable.forStamp(x.stamp(view)).getShr();
Stamp stamp = op.foldStamp(x.stamp(view), (IntegerStamp) y.stamp(view));
ValueNode value = ShiftNode.canonical(op, stamp, x, y, view);
if (value != null) {
< prev index next >