From 18b36abc7cc03076fe1c399c0bb8ec8793cc6806 Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Wed, 13 Apr 2016 16:41:35 -0700 Subject: Remove the no-longer-needed F/I and D/J alias. Rationale: Now that our HIR is type clean (yeah!), we no longer have to conservatively assume F/I and D/J are aliased. This enables more accurate side effects analysis, with improvements in all clients, such a LICM. Refinement: The HIR is not completely clean between building and SSA. This refinement takes care of that, with new tests. BUG=22538329 Change-Id: Id78ff0ff4e325aeebf0022d868937cff73d3a742 --- compiler/optimizing/ssa_builder.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/optimizing/ssa_builder.cc') diff --git a/compiler/optimizing/ssa_builder.cc b/compiler/optimizing/ssa_builder.cc index eeadbeb0d1..2fe2f2053a 100644 --- a/compiler/optimizing/ssa_builder.cc +++ b/compiler/optimizing/ssa_builder.cc @@ -391,6 +391,9 @@ bool SsaBuilder::FixAmbiguousArrayOps() { worklist.push_back(equivalent->AsPhi()); } } + // Refine the side effects of this floating point aset. Note that we do this even if + // no replacement occurs, since the right-hand-side may have been corrected already. + aset->ComputeSideEffects(); } else { // Array elements are integral and the value assigned to it initially // was integral too. Nothing to do. -- cgit v1.2.3-59-g8ed1b