summaryrefslogtreecommitdiff
path: root/compiler/optimizing/inliner.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2016-01-20 21:23:30 +0000
committer Andreas Gampe <agampe@google.com> 2016-01-20 21:23:30 +0000
commit451ad8d1be9a1949ea3c3e3a713a9e76198a8b2d (patch)
tree4a1bb8da95ff9b971f2ef9f3941b645bcaf211d3 /compiler/optimizing/inliner.cc
parent82fc9bb45dbf8ff728122fb7ab72d1eb7b2f4869 (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.cc12
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;
}