summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-01-26 12:54:33 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2015-01-26 14:44:57 +0000
commit86dde1658a1951c251dd5c6ff21ecc5c281879a6 (patch)
treeac28ec3a686fb4e9809123d8bfcdd0096b2426fb /compiler/optimizing/optimizing_compiler.cc
parent2dadc9df0ffb822870a150f81257792b83241c77 (diff)
Introduce a SideEffectsAnalysis class.
LICM also needs the side effects information of loops, so move the GVN::ComputeSideEffects method into its own analysis class. Change-Id: I810c8230a0eb6b9b536e8f808e17a3a4ad72f7db
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 5bca73003e..7f99edb0a8 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -214,7 +214,8 @@ static void RunOptimizations(HGraph* graph,
HInliner inliner(graph, dex_compilation_unit, driver, stats);
HConstantFolding fold2(graph);
- GVNOptimization gvn(graph);
+ SideEffectsAnalysis side_effects(graph);
+ GVNOptimization gvn(graph, side_effects);
BoundsCheckElimination bce(graph);
InstructionSimplifier simplify2(graph);
@@ -229,6 +230,7 @@ static void RunOptimizations(HGraph* graph,
&simplify1,
&inliner,
&fold2,
+ &side_effects,
&gvn,
&bce,
&simplify2