diff options
author | Devang Patel <dpatel@apple.com> | 2006-11-15 01:48:14 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2006-11-15 01:48:14 +0000 |
commit | 861967815396df9f8b01327197fd2715d2c7555c (patch) | |
tree | 1252ae8b2e5b11876c727e5eff8d2f9181b2ca15 | |
parent | 3799f97d539f6c288d169063e1b335917fafcffb (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.cpp | 26 |
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); } |