summaryrefslogtreecommitdiff
path: root/include/llvm/PassManager.h
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2012-11-15 00:14:15 +0000
committerOwen Anderson <resistor@mac.com>2012-11-15 00:14:15 +0000
commit40b6fdb81e12b40dd41c9f9f07befb60ec7291c3 (patch)
tree467a798d5e6f1847a8bb536c5678b1b50f1ed973 /include/llvm/PassManager.h
parent3427f0aa7ca6979c8646a9b18c1bdab41dcb6eb0 (diff)
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168008 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/PassManager.h')
-rw-r--r--include/llvm/PassManager.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h
index ce5fda79f9c..1d5e800b4da 100644
--- a/include/llvm/PassManager.h
+++ b/include/llvm/PassManager.h
@@ -58,6 +58,14 @@ public:
/// whether any of the passes modifies the module, and if so, return true.
bool run(Module &M);
+ /// doInitialization - Run all of the initializers for the module passes.
+ ///
+ bool doInitialization();
+
+ /// doFinalization - Run all of the finalizers for the module passes.
+ ///
+ bool doFinalization();
+
private:
/// PassManagerImpl_New is the actual class. PassManager is just the
/// wraper to publish simple pass manager interface