diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h index f8ebd62ca6a..cd8e70b1b36 100644 --- a/include/llvm/PassManager.h +++ b/include/llvm/PassManager.h @@ -119,7 +119,7 @@ private: /// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers. class FunctionPassManager_New { public: - FunctionPassManager_New(ModuleProvider *P) { /* TODO */ } + FunctionPassManager_New(ModuleProvider *P); FunctionPassManager_New(); ~FunctionPassManager_New() { /* TODO */ }; diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 45ffd424446..64585f93995 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -734,6 +734,11 @@ FunctionPassManager_New::FunctionPassManager_New() { FPM = new FunctionPassManagerImpl_New(0); } +FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P) { + FPM = new FunctionPassManagerImpl_New(0); + MP = P; +} + /// add - Add a pass to the queue of passes to run. This passes /// ownership of the Pass to the PassManager. When the /// PassManager_X is destroyed, the pass will be destroyed as well, so