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