From: Eli Friedman Date: Thu, 11 Jun 2009 20:33:41 +0000 (+0000) Subject: PR4371: Reduce the inlining threshold outside of -O3. This makes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b9b7dd644275911f38ec77b23014904481af2bda;p=clang PR4371: Reduce the inlining threshold outside of -O3. This makes the clang inlining threshold consistent with the threshold for llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73204 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/Backend.cpp b/lib/Frontend/Backend.cpp index 9560b61e1b..d8f8625d67 100644 --- a/lib/Frontend/Backend.cpp +++ b/lib/Frontend/Backend.cpp @@ -272,9 +272,13 @@ void BackendConsumer::CreatePasses() { llvm::Pass *InliningPass = 0; switch (CompileOpts.Inlining) { case CompileOptions::NoInlining: break; - case CompileOptions::NormalInlining: - InliningPass = createFunctionInliningPass(); // Inline small functions + case CompileOptions::NormalInlining: { + // Inline small functions + unsigned Threshold = (CompileOpts.OptimizeSize || + CompileOpts.OptimizationLevel < 3) ? 50 : 200; + InliningPass = createFunctionInliningPass(Threshold); break; + } case CompileOptions::OnlyAlwaysInlining: InliningPass = createAlwaysInlinerPass(); // Respect always_inline break;