summaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/IPO.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Transforms/IPO.h')
-rw-r--r--include/llvm/Transforms/IPO.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index 8d59fa6355..f9890ac6d0 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -24,6 +24,7 @@ class ModulePass;
class Pass;
class Function;
class BasicBlock;
+class GlobalValue;
//===----------------------------------------------------------------------===//
//
@@ -85,6 +86,14 @@ ModulePass *createGlobalDCEPass();
ModulePass *createFunctionExtractionPass(Function *F, bool deleteFn = false,
bool relinkCallees = false);
+//===----------------------------------------------------------------------===//
+/// createGVExtractionPass - If deleteFn is true, this pass deletes as
+/// the specified global values. Otherwise, it deletes as much of the module as
+/// possible, except for the global values specified.
+///
+ModulePass *createGVExtractionPass(std::vector<GlobalValue*>& GVs, bool
+ deleteFn = false,
+ bool relinkCallees = false);
//===----------------------------------------------------------------------===//
/// createFunctionInliningPass - Return a new pass object that uses a heuristic