src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IsNullNode.java
changeset 47798 9fe9292f5931
parent 47216 71c04702a3d5
child 48190 25cfedf27edc
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IsNullNode.java	Mon Nov 06 14:12:37 2017 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IsNullNode.java	Mon Nov 06 20:29:49 2017 -0800
@@ -121,7 +121,8 @@
 
     @Override
     public Stamp getSucceedingStampForValue(boolean negated) {
-        AbstractPointerStamp pointerStamp = (AbstractPointerStamp) getValue().stamp();
+        // Ignore any more precise input stamp since canonicalization will skip through PiNodes
+        AbstractPointerStamp pointerStamp = (AbstractPointerStamp) getValue().stamp().unrestricted();
         return negated ? pointerStamp.asNonNull() : pointerStamp.asAlwaysNull();
     }