From cf6bac3b565d02fe3a7e270e0d652303aa1279da Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 28 Jun 2003 15:57:04 +0000 Subject: Allow the inlining limit to be controlled from the command line! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6929 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/IPO/InlineSimple.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/Transforms') diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp index 0151a2d..4839186 100644 --- a/lib/Transforms/IPO/InlineSimple.cpp +++ b/lib/Transforms/IPO/InlineSimple.cpp @@ -11,10 +11,14 @@ #include "llvm/iOther.h" #include "llvm/iMemory.h" #include "Support/Statistic.h" +#include "Support/CommandLine.h" #include namespace { Statistic<> NumInlined("inline", "Number of functions inlined"); + cl::opt // FIXME: 200 is VERY conservative + InlineLimit("inline-threshold", cl::Hidden, cl::init(200), + cl::desc("Control the amount of inlining to perform (default = 200)")); struct FunctionInlining : public Pass { virtual bool run(Module &M) { @@ -55,7 +59,7 @@ static inline bool ShouldInlineFunction(const CallInst *CI) { // inliner is. If this value is negative after the final computation, // inlining is not performed. // - int InlineQuality = 200; // FIXME: This is VERY conservative + int InlineQuality = InlineLimit; // If there is only one call of the function, and it has internal linkage, // make it almost guaranteed to be inlined. -- cgit v1.1