]> granicus.if.org Git - clang/commitdiff
PR4371: Reduce the inlining threshold outside of -O3. This makes
authorEli Friedman <eli.friedman@gmail.com>
Thu, 11 Jun 2009 20:33:41 +0000 (20:33 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Thu, 11 Jun 2009 20:33:41 +0000 (20:33 +0000)
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

lib/Frontend/Backend.cpp

index 9560b61e1ba1dc352b2410ca9990ac0a35966926..d8f8625d67401df460d77d3fbbb693f71242023f 100644 (file)
@@ -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;