Strengthen nullability after instanceof checks

Fixes: b/425880420
Change-Id: I19244cd837a6e96e9661db46d63f74efdf53aa02
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/AssumeInserter.java b/src/main/java/com/android/tools/r8/ir/optimize/AssumeInserter.java
index 287930f..c7950f6 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/AssumeInserter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/AssumeInserter.java
@@ -204,7 +204,7 @@
         Value value = instanceOf.value();
         DynamicTypeWithUpperBound dynamicType =
             DynamicType.create(
-                appView, instanceOf.type().toTypeElement(appView, value.getType().nullability()));
+                appView, instanceOf.type().toTypeElement(appView, definitelyNotNull()));
         DynamicTypeWithUpperBound staticType = DynamicType.create(appView, value.getType());
         if (dynamicType.strictlyLessThan(staticType, appView)
             && hasOtherNonDebugUsers(value, instanceOf)) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NotNullAfterInstanceOfTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NotNullAfterInstanceOfTest.java
index d3771d8..ef60c95 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NotNullAfterInstanceOfTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NotNullAfterInstanceOfTest.java
@@ -41,7 +41,7 @@
               MethodSubject mainMethodSubject = inspector.clazz(Main.class).mainMethod();
               assertThat(mainMethodSubject, isPresent());
               assertEquals(
-                  3,
+                  2,
                   mainMethodSubject.streamInstructions().filter(InstructionSubject::isIf).count());
             })
         .run(parameters.getRuntime(), Main.class)