Fix ReplacementOrValue() for Partial LSE.

Also fix a bad DCHECK() in `FindSubstiute()` and fix the
HeapLocationCollector::VisitPredicatedInstanceFieldGet()
to use the correct input.

(cherry picked from commit 06fb7fa55cca3210f38c92ac7cc7ad525ff30c83)

Test: New tests in load_store_elimination_test.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 188188275
Merged-In: Ifdace5ddbe1777af2109189013c0557f226d9cc9
Change-Id: If95e67fa0d4e54e6b61f37208986a83bffb9d750
3 files changed