diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-12 16:11:02 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-13 09:06:14 +0100 |
commit | 622d9c31febd950255b36a48b47e1f630197c5fe (patch) | |
tree | 8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461 /compiler/optimizing/optimizing_compiler.cc | |
parent | 98a8a542f95e41c09d214a329a940b270f08f5b3 (diff) | |
download | art-622d9c31febd950255b36a48b47e1f630197c5fe.zip art-622d9c31febd950255b36a48b47e1f630197c5fe.tar.gz art-622d9c31febd950255b36a48b47e1f630197c5fe.tar.bz2 |
Add loop recognition and CFG simplifications in new compiler.
We do three simplifications:
- Split critical edges, for code generation from SSA (new).
- Ensure one back edge per loop, to simplify loop recognition (new).
- Ensure only one pre header for a loop, to simplify SSA creation (existing).
Change-Id: I9bfccd4b236a00486a261078627b091c8a68be33
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 8594c69..a5031e0 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -104,6 +104,7 @@ CompiledMethod* OptimizingCompiler::TryCompile(const DexFile::CodeItem* code_ite // Run these phases to get some test coverage. graph->BuildDominatorTree(); graph->TransformToSSA(); + graph->FindNaturalLoops(); SsaLivenessAnalysis(*graph).Analyze(); return new CompiledMethod(GetCompilerDriver(), |