diff options
author | 2016-01-20 21:23:30 +0000 | |
---|---|---|
committer | 2016-01-20 21:23:30 +0000 | |
commit | 451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d (patch) | |
tree | 4a1bb8da95ff9b971f2ef9f3941b645bcaf211d3 /compiler/optimizing/inliner.cc | |
parent | 82fc9bb45dbf8ff728122fb7ab72d1eb7b2f4869 (diff) |
Revert "Inline methods with loops."
This reverts commit 82fc9bb45dbf8ff728122fb7ab72d1eb7b2f4869.
Loop inlining exposes issues with BCE.
Bug: 26689526
Change-Id: Id9983d7f9d3c5579d91e56e4699d4d939517b2dc
Diffstat (limited to 'compiler/optimizing/inliner.cc')
-rw-r--r-- | compiler/optimizing/inliner.cc | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc index 2e79df1b84..20c4f1f698 100644 --- a/compiler/optimizing/inliner.cc +++ b/compiler/optimizing/inliner.cc @@ -419,10 +419,7 @@ bool HInliner::TryInline(HInvoke* invoke_instruction, ArtMethod* method, bool do size_t inline_max_code_units = compiler_driver_->GetCompilerOptions().GetInlineMaxCodeUnits(); if (code_item->insns_size_in_code_units_ > inline_max_code_units) { VLOG(compiler) << "Method " << PrettyMethod(method) - << " is too big to inline: " - << code_item->insns_size_in_code_units_ - << " > " - << inline_max_code_units; + << " is too big to inline"; return false; } @@ -642,12 +639,9 @@ bool HInliner::TryBuildAndInline(ArtMethod* resolved_method, for (; !it.Done(); it.Advance()) { HBasicBlock* block = it.Current(); - - if (block->IsLoopHeader() && block->GetLoopInformation()->IsIrreducible()) { - // Don't inline methods with irreducible loops, they could prevent some - // optimizations to run. + if (block->IsLoopHeader()) { VLOG(compiler) << "Method " << PrettyMethod(method_index, callee_dex_file) - << " could not be inlined because it contains an irreducible loop"; + << " could not be inlined because it contains a loop"; return false; } |