ARM64: Support interm. address for object arrays.

Support IntermediateAddress on arm64 for object
array reads in Baker read barrier configuration.

The patch brings minor boot.oat size reduction and
performance improvement on Puzzle benchmark.

Test: test-art-target, test-art-host, gc_stress.
Test: 527-checker-array-access-split.

Bug: 26601270
Bug: 32578862

Change-Id: I781a911905038b36428964a990771fdf74e99bbd
diff --git a/compiler/optimizing/instruction_simplifier_shared.cc b/compiler/optimizing/instruction_simplifier_shared.cc
index ccdcb35..0f30f66 100644
--- a/compiler/optimizing/instruction_simplifier_shared.cc
+++ b/compiler/optimizing/instruction_simplifier_shared.cc
@@ -245,11 +245,11 @@
     return false;
   }
   if (kEmitCompilerReadBarrier &&
+      !kUseBakerReadBarrier &&
       access->IsArrayGet() &&
       access->GetType() == DataType::Type::kReference) {
-    // For object arrays, the read barrier instrumentation requires
+    // For object arrays, the non-Baker read barrier instrumentation requires
     // the original array pointer.
-    // TODO: This can be relaxed for Baker CC.
     return false;
   }