aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-11-15 01:48:14 +0000
committerDevang Patel <dpatel@apple.com>2006-11-15 01:48:14 +0000
commit861967815396df9f8b01327197fd2715d2c7555c (patch)
tree1252ae8b2e5b11876c727e5eff8d2f9181b2ca15
parent3799f97d539f6c288d169063e1b335917fafcffb (diff)
Tidy up marking of last analysis user pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31746 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/VMCore/PassManager.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 379162be36..d0d54d4c4f 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -83,22 +83,9 @@ public:
return PassVector.end();
}
- inline void setLastUser(Pass *P, Pass *LU) {
+ inline void setLastUser(Pass *P, Pass *LU) {
LastUser[P] = LU;
// TODO : Check if pass P is available.
-
- // Prolong live range of analyses that are needed after an analysis pass
- // is destroyed, for querying by subsequent passes
- AnalysisUsage AnUsage;
- P->getAnalysisUsage(AnUsage);
- const std::vector<AnalysisID> &IDs = AnUsage.getRequiredTransitiveSet();
- for (std::vector<AnalysisID>::const_iterator I = IDs.begin(),
- E = IDs.end(); I != E; ++I) {
- Pass *AnalysisPass = getAnalysisPass(*I); // getAnalysisPassFromManager(*I);
- assert (AnalysisPass && "Analysis pass is not available");
- setLastUser(AnalysisPass, LU);
- }
-
}
private:
@@ -671,8 +658,17 @@ void PassManagerImpl_New::schedulePass(Pass *P) {
schedulePass(AnalysisPass);
}
setLastUser (AnalysisPass, P);
+
+ // Prolong live range of analyses that are needed after an analysis pass
+ // is destroyed, for querying by subsequent passes
+ const std::vector<AnalysisID> &IDs = AnUsage.getRequiredTransitiveSet();
+ for (std::vector<AnalysisID>::const_iterator I = IDs.begin(),
+ E = IDs.end(); I != E; ++I) {
+ Pass *AP = getAnalysisPassFromManager(*I);
+ assert (AP && "Analysis pass is not available");
+ setLastUser(AP, P);
+ }
}
-
addPass(P);
}