diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 6b6921cedde..be9bff4d3d4 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -840,13 +840,13 @@ FunctionPassManagerImpl_New::addPass(Pass *P) { /// the function, and if so, return true. bool FunctionPassManagerImpl_New::runOnModule(Module &M) { - bool Changed = false; + bool Changed = doInitialization(M); initializeAnalysisInfo(); for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) this->runOnFunction(*I); - return Changed; + return Changed | doFinalization(M); } /// Execute all of the passes scheduled for execution by invoking