Correctly remove Assume instructions from IR in LensCodeRewriter

Change-Id: Iaae303722ebc1b485992f9ae36c387a765ab6291
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
index 73f0fe5..688a21e 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
@@ -643,10 +643,11 @@
                     // Non-null assumptions on a class array type being converted to a primitive
                     // array type remains, but dynamic type becomes irrelevant.
                     assume.unsetDynamicTypeAssumption();
+                    affectedPhis.addAll(assume.outValue().uniquePhiUsers());
                     if (assume.hasNonNullAssumption()) {
-                      current.outValue().setType(substituted);
-                      affectedPhis.addAll(current.outValue().uniquePhiUsers());
+                      assume.outValue().setType(substituted);
                     } else {
+                      assume.outValue().replaceUsers(assume.src());
                       iterator.removeOrReplaceByDebugLocalRead();
                     }
                   } else {