diff options
Diffstat (limited to 'compiler/optimizing/inliner.cc')
-rw-r--r-- | compiler/optimizing/inliner.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc index e0bf028138..16abf0b0de 100644 --- a/compiler/optimizing/inliner.cc +++ b/compiler/optimizing/inliner.cc @@ -1543,7 +1543,9 @@ bool HInliner::TryBuildAndInline(HInvoke* invoke_instruction, bool is_speculative) { // If invoke_instruction is devirtualized to a different method, give intrinsics // another chance before we try to inline it. - if (invoke_instruction->GetResolvedMethod() != method && method->IsIntrinsic()) { + if (invoke_instruction->GetResolvedMethod() != method && + method->IsIntrinsic() && + IsValidIntrinsicAfterBuilder(static_cast<Intrinsics>(method->GetIntrinsic()))) { MaybeRecordStat(stats_, MethodCompilationStat::kIntrinsicRecognized); // For simplicity, always create a new instruction to replace the existing // invoke. |