Changes in directory llvm/lib/VMCore:
PassManager.cpp updated: 1.83 -> 1.84 --- Log message: removeNotPreservedAnalysis(). Do not remove ImmutablePass from the list. --- Diffs of the changes: (+8 -4) PassManager.cpp | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) Index: llvm/lib/VMCore/PassManager.cpp diff -u llvm/lib/VMCore/PassManager.cpp:1.83 llvm/lib/VMCore/PassManager.cpp:1.84 --- llvm/lib/VMCore/PassManager.cpp:1.83 Tue Dec 12 16:57:43 2006 +++ llvm/lib/VMCore/PassManager.cpp Tue Dec 12 17:07:44 2006 @@ -580,13 +580,17 @@ const std::vector<AnalysisID> &PreservedSet = AnUsage.getPreservedSet(); for (std::map<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), - E = AvailableAnalysis.end(); I != E; ++I ) { + E = AvailableAnalysis.end(); I != E; ) { if (std::find(PreservedSet.begin(), PreservedSet.end(), I->first) == PreservedSet.end()) { // Remove this analysis - std::map<AnalysisID, Pass*>::iterator J = I++; - AvailableAnalysis.erase(J); - } + if (!dynamic_cast<ImmutablePass*>(I->second)) { + std::map<AnalysisID, Pass*>::iterator J = I++; + AvailableAnalysis.erase(J); + } else + ++I; + } else + ++I; } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits