summaryrefslogtreecommitdiff
path: root/compiler/optimizing/ssa_builder.cc
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2016-04-13 16:41:35 -0700
committer Aart Bik <ajcbik@google.com> 2016-04-15 10:49:34 -0700
commit18b36abc7cc03076fe1c399c0bb8ec8793cc6806 (patch)
tree3e38ee71b94c7bbde6f93976e16416a2f6d33ee0 /compiler/optimizing/ssa_builder.cc
parentdefccc564481c2c892792680c6abb6020e36bacd (diff)
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
Diffstat (limited to 'compiler/optimizing/ssa_builder.cc')
-rw-r--r--compiler/optimizing/ssa_builder.cc3
1 files changed, 3 insertions, 0 deletions
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.