Avoid calls to the O(n) LinkedList.get() in BasicBlockInstructionsEquivalence

Noticed this when looking at replacing LinkedList in BasicBlock

Bug: None
Change-Id: I97543d1c93ca7054b3015ca9412ffef3d23e4649
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/BasicBlockInstructionsEquivalence.java b/src/main/java/com/android/tools/r8/ir/optimize/BasicBlockInstructionsEquivalence.java
index 5373a30..b57fd9b 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/BasicBlockInstructionsEquivalence.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/BasicBlockInstructionsEquivalence.java
@@ -12,6 +12,7 @@
 import com.android.tools.r8.ir.regalloc.RegisterAllocator;
 import com.google.common.base.Equivalence;
 import java.util.Arrays;
+import java.util.Iterator;
 import java.util.List;
 
 class BasicBlockInstructionsEquivalence extends Equivalence<BasicBlock> {
@@ -34,9 +35,11 @@
     if (instructions0.size() != instructions1.size()) {
       return false;
     }
-    for (int i = 0; i < instructions0.size(); i++) {
-      Instruction i0 = instructions0.get(i);
-      Instruction i1 = instructions1.get(i);
+    Iterator<Instruction> it0 = instructions0.iterator();
+    Iterator<Instruction> it1 = instructions1.iterator();
+    while (it0.hasNext()) {
+      Instruction i0 = it0.next();
+      Instruction i1 = it1.next();
       if (!i0.identicalAfterRegisterAllocation(i1, allocator, conversionOptions)) {
         return false;
       }
@@ -92,8 +95,11 @@
   private int computeHash(BasicBlock basicBlock) {
     List<Instruction> instructions = basicBlock.getInstructions();
     int hash = instructions.size();
-    for (int i = 0; i < instructions.size() && i < MAX_HASH_INSTRUCTIONS; i++) {
-      Instruction instruction = instructions.get(i);
+    int i = 0;
+    for (Instruction instruction : instructions) {
+      if (++i > MAX_HASH_INSTRUCTIONS) {
+        break;
+      }
       int hashPart = 0;
       if (instruction.outValue() != null && instruction.outValue().needsRegister()) {
         hashPart += allocator.getRegisterForValue(instruction.outValue(), instruction.getNumber());