summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-06-11 20:33:41 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-06-11 20:33:41 +0000
commit7433a248e3f74c28aaf9e2284470d1c2346b5740 (patch)
treeaf7fb91a58e62bab0a60ff57527af1b94a987443 /clang/lib
parent3b022b1d579c2b86c1d6ba4eb97e2625393cd606 (diff)
downloadbcm5719-llvm-7433a248e3f74c28aaf9e2284470d1c2346b5740.tar.gz
bcm5719-llvm-7433a248e3f74c28aaf9e2284470d1c2346b5740.zip
PR4371: Reduce the inlining threshold outside of -O3. This makes
the clang inlining threshold consistent with the threshold for llvm-gcc. llvm-svn: 73204
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Frontend/Backend.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Frontend/Backend.cpp b/clang/lib/Frontend/Backend.cpp
index 9560b61e1ba..d8f8625d674 100644
--- a/clang/lib/Frontend/Backend.cpp
+++ b/clang/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;
OpenPOWER on IntegriCloud