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 9560b61..d8f8625d 100644
--- a/lib/Frontend/Backend.cpp
+++ b/lib/Frontend/Backend.cpp
@@ -272,9 +272,13 @@
   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;