summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-01-26 10:02:45 +0000
committerNicolas Geoffray <ngeoffray@google.com>2015-01-30 09:34:25 +0000
commit82091dad38f3e5bfaf3b6984c9ab73069fb68310 (patch)
treef66bd397f64a13ee102e45e0b6267c5d55e77505 /compiler/optimizing/optimizing_compiler.cc
parent28acb6feb50951645c37c077bd3897ea760ca322 (diff)
downloadandroid_art-82091dad38f3e5bfaf3b6984c9ab73069fb68310.tar.gz
android_art-82091dad38f3e5bfaf3b6984c9ab73069fb68310.tar.bz2
android_art-82091dad38f3e5bfaf3b6984c9ab73069fb68310.zip
Implement LICM in optimizing compiler.
Change-Id: I9c8afb0a58ef45e568576015473cbfd5f011c242
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 705345b279..50d7924186 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -34,6 +34,7 @@
#include "inliner.h"
#include "instruction_simplifier.h"
#include "intrinsics.h"
+#include "licm.h"
#include "jni/quick/jni_compiler.h"
#include "mirror/art_method-inl.h"
#include "nodes.h"
@@ -225,6 +226,7 @@ static void RunOptimizations(HGraph* graph,
HConstantFolding fold2(graph);
SideEffectsAnalysis side_effects(graph);
GVNOptimization gvn(graph, side_effects);
+ LICM licm(graph, side_effects);
BoundsCheckElimination bce(graph);
ReferenceTypePropagation type_propagation(graph);
InstructionSimplifier simplify2(graph, "instruction_simplifier_after_types");
@@ -242,6 +244,7 @@ static void RunOptimizations(HGraph* graph,
&fold2,
&side_effects,
&gvn,
+ &licm,
&bce,
&type_propagation,
&simplify2