diff options
author | 2016-02-11 19:27:37 +0000 | |
---|---|---|
committer | 2016-02-11 19:27:37 +0000 | |
commit | d3df33e6c24e3cd62991b2a65833f16dc05a17b8 (patch) | |
tree | 39baa1939418c2bbee4b4b7d6677597c70971a7d /compiler/optimizing | |
parent | e52bf00fed14563d23e38a74908180e152b26629 (diff) | |
parent | 40bcb9356f951af2db4b9b671511841eedf59427 (diff) |
Merge "Some clean-up for the handling of HSelect in LSE"
Diffstat (limited to 'compiler/optimizing')
-rw-r--r-- | compiler/optimizing/load_store_elimination.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/load_store_elimination.cc b/compiler/optimizing/load_store_elimination.cc index 9a97f54d54..8eaac0bbd3 100644 --- a/compiler/optimizing/load_store_elimination.cc +++ b/compiler/optimizing/load_store_elimination.cc @@ -61,7 +61,7 @@ class ReferenceInfo : public ArenaObject<kArenaAllocMisc> { (use->IsStaticFieldSet() && (reference_ == use->InputAt(1))) || (use->IsUnresolvedStaticFieldSet() && (reference_ == use->InputAt(0))) || (use->IsArraySet() && (reference_ == use->InputAt(2)))) { - // reference_ is merged to a phi/HSelect, passed to a callee, or stored to heap. + // reference_ is merged to HPhi/HSelect, passed to a callee, or stored to heap. // reference_ isn't the only name that can refer to its value anymore. is_singleton_ = false; is_singleton_and_not_returned_ = false; @@ -458,6 +458,10 @@ class HeapLocationCollector : public HGraphVisitor { CreateReferenceInfoForReferenceType(instruction); } + void VisitSelect(HSelect* instruction) OVERRIDE { + CreateReferenceInfoForReferenceType(instruction); + } + void VisitDeoptimize(HDeoptimize* instruction ATTRIBUTE_UNUSED) OVERRIDE { may_deoptimize_ = true; } |