Rename NonNull instruction to Assume

Bug: 129860265
Change-Id: Ib9d8bbc01c38ff0f1de85bfb0d3a412ba2bad88f
diff --git a/src/main/java/com/android/tools/r8/ir/code/NonNull.java b/src/main/java/com/android/tools/r8/ir/code/Assume.java
similarity index 95%
rename from src/main/java/com/android/tools/r8/ir/code/NonNull.java
rename to src/main/java/com/android/tools/r8/ir/code/Assume.java
index 4074c11..f5d95bf 100644
--- a/src/main/java/com/android/tools/r8/ir/code/NonNull.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Assume.java
@@ -14,12 +14,12 @@
 import com.android.tools.r8.ir.optimize.Inliner.ConstraintWithTarget;
 import com.android.tools.r8.ir.optimize.InliningConstraints;
 
-public class NonNull extends Instruction {
+public class Assume extends Instruction {
   private final static String ERROR_MESSAGE = "This fake IR should be removed after inlining.";
 
   final Instruction origin;
 
-  public NonNull(Value dest, Value src, Instruction origin) {
+  public Assume(Value dest, Value src, Instruction origin) {
     super(dest, src);
     assert !src.isNeverNull();
     this.origin = origin;
@@ -48,7 +48,7 @@
   }
 
   @Override
-  public NonNull asNonNull() {
+  public Assume asNonNull() {
     return this;
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java b/src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java
index bcbae23..5ec29e4 100644
--- a/src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java
+++ b/src/main/java/com/android/tools/r8/ir/code/DefaultInstructionVisitor.java
@@ -260,7 +260,7 @@
   }
 
   @Override
-  public T visit(NonNull instruction) {
+  public T visit(Assume instruction) {
     return null;
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/code/Instruction.java b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
index 85ccb4e..7bf9eed 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Instruction.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
@@ -836,7 +836,7 @@
     return false;
   }
 
-  public NonNull asNonNull() {
+  public Assume asNonNull() {
     return null;
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java b/src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java
index ec7ea00..d6160d7 100644
--- a/src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java
+++ b/src/main/java/com/android/tools/r8/ir/code/InstructionVisitor.java
@@ -104,7 +104,7 @@
 
   T visit(NewInstance instruction);
 
-  T visit(NonNull instruction);
+  T visit(Assume instruction);
 
   T visit(Not instruction);
 
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/Devirtualizer.java b/src/main/java/com/android/tools/r8/ir/optimize/Devirtualizer.java
index 511d3d0..38f7d27 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/Devirtualizer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/Devirtualizer.java
@@ -9,6 +9,7 @@
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.ir.analysis.type.TypeAnalysis;
 import com.android.tools.r8.ir.analysis.type.TypeLatticeElement;
+import com.android.tools.r8.ir.code.Assume;
 import com.android.tools.r8.ir.code.BasicBlock;
 import com.android.tools.r8.ir.code.CheckCast;
 import com.android.tools.r8.ir.code.DominatorTree;
@@ -17,7 +18,6 @@
 import com.android.tools.r8.ir.code.InstructionListIterator;
 import com.android.tools.r8.ir.code.InvokeInterface;
 import com.android.tools.r8.ir.code.InvokeVirtual;
-import com.android.tools.r8.ir.code.NonNull;
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.optimize.Inliner.ConstraintWithTarget;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
@@ -66,7 +66,7 @@
         // ...
         // non_null_rcv <- non-null rcv_c  // <- Update the input rcv to the non-null, too.
         if (current.isNonNull()) {
-          NonNull nonNull = current.asNonNull();
+          Assume nonNull = current.asNonNull();
           Instruction origin = nonNull.origin();
           if (origin.isInvokeInterface()
               && !origin.asInvokeInterface().getReceiver().hasLocalInfo()
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/NonNullTracker.java b/src/main/java/com/android/tools/r8/ir/optimize/NonNullTracker.java
index ee6b4b8..94bf914 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/NonNullTracker.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/NonNullTracker.java
@@ -12,6 +12,7 @@
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.ir.analysis.type.TypeAnalysis;
 import com.android.tools.r8.ir.analysis.type.TypeLatticeElement;
+import com.android.tools.r8.ir.code.Assume;
 import com.android.tools.r8.ir.code.BasicBlock;
 import com.android.tools.r8.ir.code.DominatorTree;
 import com.android.tools.r8.ir.code.IRCode;
@@ -20,7 +21,6 @@
 import com.android.tools.r8.ir.code.Instruction;
 import com.android.tools.r8.ir.code.InstructionIterator;
 import com.android.tools.r8.ir.code.InstructionListIterator;
-import com.android.tools.r8.ir.code.NonNull;
 import com.android.tools.r8.ir.code.Phi;
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.conversion.OptimizationFeedback;
@@ -225,7 +225,7 @@
                         typeLattice.asReferenceTypeLatticeElement().asNotNull(),
                         knownToBeNonNullValue.getLocalInfo());
                 affectedValues.addAll(knownToBeNonNullValue.affectedValues());
-                NonNull nonNull = new NonNull(nonNullValue, knownToBeNonNullValue, theIf);
+                Assume nonNull = new Assume(nonNullValue, knownToBeNonNullValue, theIf);
                 InstructionListIterator targetIterator = target.listIterator();
                 nonNull.setPosition(targetIterator.next().getPosition());
                 targetIterator.previous();
@@ -318,7 +318,7 @@
                 typeLattice.asReferenceTypeLatticeElement().asNotNull(),
                 knownToBeNonNullValue.getLocalInfo());
         affectedValues.addAll(knownToBeNonNullValue.affectedValues());
-        NonNull nonNull = new NonNull(nonNullValue, knownToBeNonNullValue, current);
+        Assume nonNull = new Assume(nonNullValue, knownToBeNonNullValue, current);
         nonNull.setPosition(current.getPosition());
         if (blockWithNonNullInstruction != block) {
           // If we split, add non-null IR on top of the new split block.
@@ -484,7 +484,7 @@
       //
       // rcv#foo
       if (instruction.isNonNull()) {
-        NonNull nonNull = instruction.asNonNull();
+        Assume nonNull = instruction.asNonNull();
         Value src = nonNull.src();
         Value dest = nonNull.dest();
         affectedValues.addAll(dest.affectedValues());
diff --git a/src/test/java/com/android/tools/r8/ir/analysis/type/NullabilityTest.java b/src/test/java/com/android/tools/r8/ir/analysis/type/NullabilityTest.java
index 8759603..74e7cc3 100644
--- a/src/test/java/com/android/tools/r8/ir/analysis/type/NullabilityTest.java
+++ b/src/test/java/com/android/tools/r8/ir/analysis/type/NullabilityTest.java
@@ -17,6 +17,7 @@
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.ir.code.Argument;
 import com.android.tools.r8.ir.code.ArrayGet;
+import com.android.tools.r8.ir.code.Assume;
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.InstanceGet;
 import com.android.tools.r8.ir.code.Instruction;
@@ -24,7 +25,6 @@
 import com.android.tools.r8.ir.code.InvokeMethodWithReceiver;
 import com.android.tools.r8.ir.code.InvokeVirtual;
 import com.android.tools.r8.ir.code.NewInstance;
-import com.android.tools.r8.ir.code.NonNull;
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.optimize.NonNullTracker;
 import com.android.tools.r8.ir.optimize.NonNullTrackerTestBase;
@@ -133,7 +133,7 @@
           Map<Class<? extends Instruction>, TypeLatticeElement> expectedLattices =
               ImmutableMap.of(
                   InvokeVirtual.class, stringClassType(appInfo, maybeNull()),
-                  NonNull.class, stringClassType(appInfo, definitelyNotNull()),
+                  Assume.class, stringClassType(appInfo, definitelyNotNull()),
                   NewInstance.class, fromDexType(assertionErrorType, definitelyNotNull(), appInfo));
           forEachOutValue(
               irCode, (v, l) -> verifyClassTypeLattice(expectedLattices, mainClass, v, l));
@@ -160,7 +160,7 @@
           Map<Class<? extends Instruction>, TypeLatticeElement> expectedLattices =
               ImmutableMap.of(
                   InvokeVirtual.class, stringClassType(appInfo, maybeNull()),
-                  NonNull.class, stringClassType(appInfo, definitelyNotNull()),
+                  Assume.class, stringClassType(appInfo, definitelyNotNull()),
                   NewInstance.class, fromDexType(assertionErrorType, definitelyNotNull(), appInfo));
           forEachOutValue(
               irCode, (v, l) -> verifyClassTypeLattice(expectedLattices, mainClass, v, l));
@@ -277,7 +277,7 @@
           Map<Class<? extends Instruction>, TypeLatticeElement> expectedLattices =
               ImmutableMap.of(
                   Argument.class, fromDexType(testClass, maybeNull(), appInfo),
-                  NonNull.class, fromDexType(testClass, definitelyNotNull(), appInfo),
+                  Assume.class, fromDexType(testClass, definitelyNotNull(), appInfo),
                   // instance may not be initialized.
                   InstanceGet.class,
                       fromDexType(appInfo.dexItemFactory().stringType, maybeNull(), appInfo),
@@ -313,7 +313,7 @@
           Map<Class<? extends Instruction>, TypeLatticeElement> expectedLattices =
               ImmutableMap.of(
                   Argument.class, fromDexType(testClass, maybeNull(), appInfo),
-                  NonNull.class, fromDexType(testClass, definitelyNotNull(), appInfo),
+                  Assume.class, fromDexType(testClass, definitelyNotNull(), appInfo),
                   // instance may not be initialized.
                   InstanceGet.class,
                       fromDexType(appInfo.dexItemFactory().stringType, maybeNull(), appInfo),