17 #ifndef LLVM_TRANSFORMS_IPO_INLINERPASS_H
18 #define LLVM_TRANSFORMS_IPO_INLINERPASS_H
26 template<
class PtrType,
unsigned SmallSize>
79 unsigned InlineThreshold;
unsigned getInlineThreshold() const
This method returns the value specified by the -inline-threshold value, specified on the command line...
bool removeDeadFunctions(CallGraph &CG, bool AlwaysInlineOnly=false)
removeDeadFunctions - Remove dead functions.
bool doFinalization(CallGraph &CG) override
Remove now-dead linkonce functions at the end of processing to avoid breaking the SCC traversal...
Represents the cost of inlining a function.
virtual bool doFinalization(Module &)
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes...
void getAnalysisUsage(AnalysisUsage &Info) const override
getAnalysisUsage - For this class, we declare that we require and preserve the call graph...
Inliner - This class contains all of the helper code which is used to perform the inlining operations...
Represent the analysis usage information of a pass.
bool runOnSCC(CallGraphSCC &SCC) override
runOnSCC - This method should be implemented by the subclass to perform whatever action is necessary ...
virtual InlineCost getInlineCost(CallSite CS)=0
getInlineCost - This method must be implemented by the subclass to determine the cost of inlining the...
The basic data container for the call graph of a Module of IR.
static int const Threshold
TODO: Write a new FunctionPass AliasAnalysis so that it can keep a cache.
CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on.