summaryrefslogtreecommitdiff
path: root/compiler/optimizing/inliner.cc
diff options
context:
space:
mode:
author Scott Wakeling <scott.wakeling@linaro.org> 2015-07-22 14:32:44 +0100
committer Scott Wakeling <scott.wakeling@linaro.org> 2015-07-29 10:57:23 +0100
commitd60a1af565566c4a466f389b8fff0716340fc3b1 (patch)
tree85dac7a5b3504f5781906de84f32df2dc0859b3a /compiler/optimizing/inliner.cc
parent0fae2f5851dd79c4100134a92f997b2e7a520083 (diff)
Run intrinsics on inlined code.
Fixes any prior intrinsics recognition being lost if the containing code block is inlined. Change-Id: I6c89973545af97a4fe2444a9bd6efcc12d0d1b10
Diffstat (limited to 'compiler/optimizing/inliner.cc')
-rw-r--r--compiler/optimizing/inliner.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc
index c185b5887b..f0e6444775 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -24,6 +24,7 @@
#include "driver/compiler_driver-inl.h"
#include "driver/dex_compilation_unit.h"
#include "instruction_simplifier.h"
+#include "intrinsics.h"
#include "mirror/class_loader.h"
#include "mirror/dex_cache.h"
#include "nodes.h"
@@ -358,8 +359,10 @@ bool HInliner::TryBuildAndInline(ArtMethod* resolved_method,
HConstantFolding fold(callee_graph);
ReferenceTypePropagation type_propagation(callee_graph, handles_);
InstructionSimplifier simplify(callee_graph, stats_);
+ IntrinsicsRecognizer intrinsics(callee_graph, compiler_driver_);
HOptimization* optimizations[] = {
+ &intrinsics,
&dce,
&fold,
&type_propagation,