Changes in directory llvm/lib/VMCore:
PassManager.cpp updated: 1.75 -> 1.76 --- Log message: Set top level manager. --- Diffs of the changes: (+10 -1) PassManager.cpp | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletion(-) Index: llvm/lib/VMCore/PassManager.cpp diff -u llvm/lib/VMCore/PassManager.cpp:1.75 llvm/lib/VMCore/PassManager.cpp:1.76 --- llvm/lib/VMCore/PassManager.cpp:1.75 Fri Dec 8 19:11:34 2006 +++ llvm/lib/VMCore/PassManager.cpp Tue Dec 12 16:02:16 2006 @@ -333,7 +333,6 @@ std::vector<Pass *> ForcedLastUses; // Top level manager. - // TODO : Make it a reference. PMTopLevelManager *TPM; private: @@ -814,6 +813,8 @@ FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P) { FPM = new FunctionPassManagerImpl_New(0); + // FPM is the top level manager. + FPM->setTopLevelManager(FPM); MP = P; } @@ -880,6 +881,8 @@ // Create and add new manager activeBBPassManager = new BasicBlockPassManager_New(getDepth() + 1); + // Inherit top level manager + activeBBPassManager->setTopLevelManager(this->getTopLevelManager()); addPassToManager(activeBBPassManager, false); TPM->addOtherPassManager(activeBBPassManager); @@ -1013,6 +1016,8 @@ activeFunctionPassManager = new FunctionPassManagerImpl_New(getDepth() + 1); addPassToManager(activeFunctionPassManager, false); + // Inherit top level manager + activeFunctionPassManager->setTopLevelManager(this->getTopLevelManager()); TPM->addOtherPassManager(activeFunctionPassManager); // Add pass into new manager. This time it must succeed. @@ -1077,6 +1082,8 @@ if (!activeManager || !activeManager->addPass(P)) { activeManager = new ModulePassManager_New(getDepth() + 1); + // Inherit top level manager + activeManager->setTopLevelManager(this->getTopLevelManager()); // This top level manager is going to manage activeManager. // Set up analysis resolver to connect them. @@ -1108,6 +1115,8 @@ /// Create new pass manager PassManager_New::PassManager_New() { PM = new PassManagerImpl_New(0); + // PM is the top level manager + PM->setTopLevelManager(PM); } /// add - Add a pass to the queue of passes to run. This passes ownership of _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits