summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/MachineModuleInfo.h3
-rw-r--r--include/llvm/Pass.h4
-rw-r--r--include/llvm/PassManager.h8
-rw-r--r--include/llvm/PassManagers.h4
4 files changed, 9 insertions, 10 deletions
diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h
index fc73a3d609..4660cad5d8 100644
--- a/include/llvm/CodeGen/MachineModuleInfo.h
+++ b/include/llvm/CodeGen/MachineModuleInfo.h
@@ -180,7 +180,10 @@ public:
const MCObjectFileInfo *MOFI);
~MachineModuleInfo();
+ using ModulePass::doInitialization;
bool doInitialization();
+
+ using ModulePass::doFinalization;
bool doFinalization();
/// EndFunction - Discard function meta information.
diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h
index 7b6f169666..acfc6a251e 100644
--- a/include/llvm/Pass.h
+++ b/include/llvm/Pass.h
@@ -230,7 +230,7 @@ public:
/// doInitialization - Virtual method overridden by subclasses to do
/// any necessary initialization.
///
- virtual bool doInitialization() { return false; }
+ virtual bool doInitialization(Module &) { return false; }
/// runOnModule - Virtual method overriden by subclasses to process the module
/// being operated on.
@@ -239,7 +239,7 @@ public:
/// doFinalization - Virtual method overriden by subclasses to do any post
/// processing needed after all passes have run.
///
- virtual bool doFinalization() { return false; }
+ virtual bool doFinalization(Module &) { return false; }
virtual void assignPassManager(PMStack &PMS,
PassManagerType T);
diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h
index 1d5e800b4d..ce5fda79f9 100644
--- a/include/llvm/PassManager.h
+++ b/include/llvm/PassManager.h
@@ -58,14 +58,6 @@ 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
diff --git a/include/llvm/PassManagers.h b/include/llvm/PassManagers.h
index b0450f3e00..385d6e1b55 100644
--- a/include/llvm/PassManagers.h
+++ b/include/llvm/PassManagers.h
@@ -462,6 +462,10 @@ public:
virtual PassManagerType getPassManagerType() const {
return PMT_FunctionPassManager;
}
+
+protected:
+ // FIXME: due to limitation in AddressSanitizer
+ bool RunFinalization;
};
Timer *getPassTimer(Pass *);