aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms/IPO/InlinerPass.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Transforms/IPO/InlinerPass.h')
-rw-r--r--include/llvm/Transforms/IPO/InlinerPass.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/llvm/Transforms/IPO/InlinerPass.h b/include/llvm/Transforms/IPO/InlinerPass.h
index 1feaaa4..f59479d 100644
--- a/include/llvm/Transforms/IPO/InlinerPass.h
+++ b/include/llvm/Transforms/IPO/InlinerPass.h
@@ -79,10 +79,14 @@ struct Inliner : public CallGraphSCCPass {
/// has been inlined.
virtual void growCachedCostInfo(Function *Caller, Function *Callee) = 0;
- /// removeDeadFunctions - Remove dead functions that are not included in
- /// DNR (Do Not Remove) list.
- bool removeDeadFunctions(CallGraph &CG,
- SmallPtrSet<const Function *, 16> *DNR = NULL);
+ /// removeDeadFunctions - Remove dead functions.
+ ///
+ /// This also includes a hack in the form of the 'AlwaysInlineOnly' flag
+ /// which restricts it to deleting functions with an 'AlwaysInline'
+ /// attribute. This is useful for the InlineAlways pass that only wants to
+ /// deal with that subset of the functions.
+ bool removeDeadFunctions(CallGraph &CG, bool AlwaysInlineOnly = false);
+
private:
// InlineThreshold - Cache the value here for easy access.
unsigned InlineThreshold;