Fix scheduler's `FieldAccessHeapLocation()`.

Use the correct target for predicated get.

Also remove an always-false condition from LSE.

Test: m
Bug: 188188275
Bug: 188847019
Change-Id: I731e181c8c0d812120dc4fad0c011158053fa7a8
diff --git a/compiler/optimizing/load_store_elimination.cc b/compiler/optimizing/load_store_elimination.cc
index 05862e3..d7cae76 100644
--- a/compiler/optimizing/load_store_elimination.cc
+++ b/compiler/optimizing/load_store_elimination.cc
@@ -2143,8 +2143,7 @@
     size_t idx = phi_placeholder.GetHeapLocation();
     for (HBasicBlock* predecessor : block->GetPredecessors()) {
       Value value = ReplacementOrValue(heap_values_for_[predecessor->GetBlockId()][idx].value);
-      if (value.NeedsNonLoopPhi() ||
-          (current_phase_ == Phase::kPartialElimination && value.IsMergedUnknown())) {
+      if (value.NeedsNonLoopPhi()) {
         DCHECK(current_phase_ == Phase::kLoadElimination ||
                current_phase_ == Phase::kPartialElimination)
             << current_phase_;