Rerun move-result removal after assume removal

Bug: 214496607
Change-Id: If4ec5f647117c8fc4fd8a575a86b0b3436e67764
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index c4dba5e..45758d3 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -1505,6 +1505,9 @@
       CodeRewriter.removeAssumeInstructions(appView, code);
       timing.end();
       assert code.isConsistentSSA();
+
+      // TODO(b/214496607): Remove when dynamic types are safe w.r.t. interface assignment rules.
+      codeRewriter.rewriteMoveResult(code);
     }
 
     // Assert that we do not have unremoved non-sense code in the output, e.g., v <- non-null NULL.
diff --git a/src/test/java/com/android/tools/r8/internal/opensourceapps/TiviTest.java b/src/test/java/com/android/tools/r8/internal/opensourceapps/TiviTest.java
index 6b593fd..128f780 100644
--- a/src/test/java/com/android/tools/r8/internal/opensourceapps/TiviTest.java
+++ b/src/test/java/com/android/tools/r8/internal/opensourceapps/TiviTest.java
@@ -58,6 +58,7 @@
         testForR8(Backend.CF)
             .addProgramFiles(outDirectory.resolve("program.jar"))
             .apply(this::configure)
+            .apply(this::configureCf)
             .compile();
     testForR8(Backend.DEX)
         .addProgramFiles(compileResult.writeToZip())
@@ -79,6 +80,7 @@
         testForR8Compat(Backend.CF)
             .addProgramFiles(outDirectory.resolve("program.jar"))
             .apply(this::configure)
+            .apply(this::configureCf)
             .compile();
     testForR8Compat(Backend.DEX)
         .addProgramFiles(compileResult.writeToZip())
@@ -93,7 +95,12 @@
         .addKeepRuleFiles(outDirectory.resolve("proguard.config"))
         .setMinApi(AndroidApiLevel.M)
         .allowDiagnosticMessages()
+        .allowUnnecessaryDontWarnWildcards()
         .allowUnusedDontWarnPatterns()
         .allowUnusedProguardConfigurationRules();
   }
+
+  private void configureCf(R8TestBuilder<?> testBuilder) {
+    testBuilder.addOptionsModification(options -> options.horizontalClassMergerOptions().disable());
+  }
 }