Remove use of instruction pointers in ArrayConstructionSimplifier

Bug: b/391417819
Change-Id: Ibac54efa132e841a66158f5b150686583b6ce263
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java b/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
index ff7a0ad..4bdf306 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/passes/ArrayConstructionSimplifier.java
@@ -10,6 +10,7 @@
 import com.android.tools.r8.graph.DexTypeUtils;
 import com.android.tools.r8.ir.code.ArrayPut;
 import com.android.tools.r8.ir.code.BasicBlock;
+import com.android.tools.r8.ir.code.BasicBlockInstructionIterator;
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.Instruction;
 import com.android.tools.r8.ir.code.InstructionListIterator;
@@ -235,9 +236,10 @@
         return false;
       }
     }
-    for (Instruction instruction = lastArrayPut.getBlock().getLastInstruction();
+    BasicBlockInstructionIterator iterator = lastArrayPutBlock.iterator(lastArrayPutBlock.size());
+    for (Instruction instruction = iterator.previous();
         instruction != lastArrayPut;
-        instruction = instruction.getPrev()) {
+        instruction = iterator.previous()) {
       if (instruction.isArrayPut() && instruction.asArrayPut().array() == arrayValue) {
         return false;
       }