Add a new -disable-inlining option


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9028 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index 0a50d9f..2cd408a 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -31,6 +31,9 @@
 
   cl::opt<bool>   
   Verify("verify", cl::desc("Verify each pass result"));
+
+  cl::opt<bool>
+  DisableInline("disable-inlining", cl::desc("Do not run the inliner pass"));
 }
 
 
@@ -50,7 +53,9 @@
   addPass(PM, createRaiseAllocationsPass());     // call %malloc -> malloc inst
   addPass(PM, createGlobalDCEPass());            // Remove unused globals
   addPass(PM, createPruneEHPass());              // Remove dead EH info
-  addPass(PM, createFunctionInliningPass());     // Inline small functions
+
+  if (!DisableInline)
+    addPass(PM, createFunctionInliningPass());   // Inline small functions
 
   addPass(PM, createInstructionCombiningPass()); // Cleanup code for raise
   addPass(PM, createRaisePointerReferencesPass());// Recover type information