diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-06-11 20:33:41 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-06-11 20:33:41 +0000 |
commit | b9b7dd644275911f38ec77b23014904481af2bda (patch) | |
tree | ab7be218f7cc585807541f3fdbdfbc5ad5a084fe /lib/Frontend/Backend.cpp | |
parent | c7d95dcb4e0b3d9ebc1a79d2c45f16af10cf88c1 (diff) |
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
Diffstat (limited to 'lib/Frontend/Backend.cpp')
-rw-r--r-- | lib/Frontend/Backend.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
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; |