[llvm-commits] CVS: llvm/lib/VMCore/PassManager.cpp
Devang Patel
dpatel at apple.com
Thu Dec 7 14:09:51 PST 2006
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;
More information about the llvm-commits
mailing list