diff options
author | 2016-10-20 22:50:12 +0000 | |
---|---|---|
committer | 2016-10-20 22:50:12 +0000 | |
commit | a8188191477b7b5b01a3c4426c51c48cd55f6678 (patch) | |
tree | 794ab1f6abf125263589acc037f01e8ba97004ef /compiler/optimizing/optimizing_compiler.cc | |
parent | 6494dae35b15cc5b771daa7871e4621e6dec1744 (diff) | |
parent | 639cc8c7bbb7d8c341173bcf24604ccb4328acb8 (diff) |
Merge "Improve recognition of select-based period induction."
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 7972387536..03870ab1bf 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -748,8 +748,10 @@ void OptimizingCompiler::RunOptimizations(HGraph* graph, HLoopOptimization* loop = new (arena) HLoopOptimization(graph, induction); HSharpening* sharpening = new (arena) HSharpening(graph, codegen, dex_compilation_unit, driver); InstructionSimplifier* simplify2 = new (arena) InstructionSimplifier( - graph, stats, "instruction_simplifier$after_bce"); + graph, stats, "instruction_simplifier$after_inlining"); InstructionSimplifier* simplify3 = new (arena) InstructionSimplifier( + graph, stats, "instruction_simplifier$after_bce"); + InstructionSimplifier* simplify4 = new (arena) InstructionSimplifier( graph, stats, "instruction_simplifier$before_codegen"); IntrinsicsRecognizer* intrinsics = new (arena) IntrinsicsRecognizer(graph, stats); @@ -769,6 +771,7 @@ void OptimizingCompiler::RunOptimizations(HGraph* graph, // redundant suspend checks to recognize empty blocks. select_generator, fold2, // TODO: if we don't inline we can also skip fold2. + simplify2, side_effects, gvn, licm, @@ -776,13 +779,13 @@ void OptimizingCompiler::RunOptimizations(HGraph* graph, bce, loop, fold3, // evaluates code generated by dynamic bce - simplify2, + simplify3, lse, dce2, // The codegen has a few assumptions that only the instruction simplifier // can satisfy. For example, the code generator does not expect to see a // HTypeConversion from a type to the same type. - simplify3, + simplify4, }; RunOptimizations(optimizations2, arraysize(optimizations2), pass_observer); |