Changes in directory llvm/lib/VMCore:
PassManager.cpp updated: 1.51 -> 1.52 --- Log message: Make current pass info available _after_ removing info that is not preserved. --- Diffs of the changes: (+7 -8) PassManager.cpp | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) Index: llvm/lib/VMCore/PassManager.cpp diff -u llvm/lib/VMCore/PassManager.cpp:1.51 llvm/lib/VMCore/PassManager.cpp:1.52 --- llvm/lib/VMCore/PassManager.cpp:1.51 Thu Dec 7 15:58:50 2006 +++ llvm/lib/VMCore/PassManager.cpp Thu Dec 7 16:09:36 2006 @@ -533,12 +533,11 @@ bool ProcessAnalysis) { if (ProcessAnalysis) { - // Take a note of analysis required and made available by this pass - initializeAnalysisImpl(P); - recordAvailableAnalysis(P); - + // Take a note of analysis required and made available by this pass. // Remove the analysis not preserved by this pass + initializeAnalysisImpl(P); removeNotPreservedAnalysis(P); + recordAvailableAnalysis(P); } // Add pass @@ -600,10 +599,10 @@ e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - recordAvailableAnalysis(P); BasicBlockPass *BP = dynamic_cast<BasicBlockPass*>(P); Changed |= BP->runOnBasicBlock(*I); removeNotPreservedAnalysis(P); + recordAvailableAnalysis(P); removeDeadPasses(P); } return Changed; @@ -718,10 +717,10 @@ e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - recordAvailableAnalysis(P); FunctionPass *FP = dynamic_cast<FunctionPass*>(P); Changed |= FP->runOnFunction(*I); removeNotPreservedAnalysis(P); + recordAvailableAnalysis(P); removeDeadPasses(P); } return Changed; @@ -739,10 +738,10 @@ e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - recordAvailableAnalysis(P); FunctionPass *FP = dynamic_cast<FunctionPass*>(P); Changed |= FP->runOnFunction(F); removeNotPreservedAnalysis(P); + recordAvailableAnalysis(P); removeDeadPasses(P); } return Changed; @@ -848,10 +847,10 @@ e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - recordAvailableAnalysis(P); ModulePass *MP = dynamic_cast<ModulePass*>(P); Changed |= MP->runOnModule(M); removeNotPreservedAnalysis(P); + recordAvailableAnalysis(P); removeDeadPasses(P); } return Changed; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits