From 0846a8ffafffdf4c18d52f9896b13f40a1c9828d Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 12 Sep 2018 15:21:07 +0100 Subject: Fix ReplaceUninitializedStringPhis. Move the analysis after redundant phi and dead phi elimination, knowing that only graphs with irreducible loops may still have a phi as input of the invoke. In such a case, we bail. bug: 112537407 Test: 563-checker-fake-string Change-Id: Ib9eefa4ce905b7fb418ca9b2a3c26ea4df74ce8f --- compiler/optimizing/ssa_builder.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'compiler/optimizing/ssa_builder.h') diff --git a/compiler/optimizing/ssa_builder.h b/compiler/optimizing/ssa_builder.h index bae15acf98..bb892c9304 100644 --- a/compiler/optimizing/ssa_builder.h +++ b/compiler/optimizing/ssa_builder.h @@ -97,8 +97,8 @@ class SsaBuilder : public ValueObject { } } - void AddUninitializedStringPhi(HPhi* phi, HInvoke* invoke) { - uninitialized_string_phis_.push_back(std::make_pair(phi, invoke)); + void AddUninitializedStringPhi(HInvoke* invoke) { + uninitialized_string_phis_.push_back(invoke); } private: @@ -124,6 +124,7 @@ class SsaBuilder : public ValueObject { void RemoveRedundantUninitializedStrings(); bool ReplaceUninitializedStringPhis(); + bool HasAliasInEnvironments(HInstruction* instruction); HGraph* const graph_; Handle class_loader_; @@ -137,7 +138,7 @@ class SsaBuilder : public ValueObject { ScopedArenaVector ambiguous_agets_; ScopedArenaVector ambiguous_asets_; ScopedArenaVector uninitialized_strings_; - ScopedArenaVector> uninitialized_string_phis_; + ScopedArenaVector uninitialized_string_phis_; DISALLOW_COPY_AND_ASSIGN(SsaBuilder); }; -- cgit v1.2.3-59-g8ed1b