Fix CodeRewriterResult for KnownArrayLengthRewriter

Bug: b/284304606
Change-Id: I70a02e40ec524e859411e99b6b6748737123cbf7
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/passes/KnownArrayLengthRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/passes/KnownArrayLengthRewriter.java
index 291f8b9..05c3702 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/passes/KnownArrayLengthRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/passes/KnownArrayLengthRewriter.java
@@ -34,6 +34,7 @@
 
   @Override
   protected CodeRewriterResult rewriteCode(IRCode code) {
+    boolean hasChanged = false;
     InstructionListIterator iterator = code.instructionListIterator();
     while (iterator.hasNext()) {
       Instruction current = iterator.next();
@@ -63,22 +64,27 @@
         Value size = arrayDefinition.asNewArrayEmpty().size();
         arrayLength.outValue().replaceUsers(size);
         iterator.removeOrReplaceByDebugLocalRead();
+        hasChanged = true;
       } else if (arrayDefinition.isNewArrayFilledData()) {
         long size = arrayDefinition.asNewArrayFilledData().size;
         if (size > Integer.MAX_VALUE) {
           continue;
         }
         iterator.replaceCurrentInstructionWithConstInt(code, (int) size);
+        hasChanged = true;
       } else if (abstractValue.hasKnownArrayLength()) {
         iterator.replaceCurrentInstructionWithConstInt(code, abstractValue.getKnownArrayLength());
+        hasChanged = true;
       } else {
         continue;
       }
 
       phiUsers.forEach(Phi::removeTrivialPhi);
     }
-    code.removeRedundantBlocks();
+    if (hasChanged) {
+      code.removeRedundantBlocks();
+    }
     assert code.isConsistentSSA(appView);
-    return CodeRewriterResult.NONE;
+    return CodeRewriterResult.hasChanged(hasChanged);
   }
 }