diff options
author | Devang Patel <dpatel@apple.com> | 2007-07-19 05:36:09 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-07-19 05:36:09 +0000 |
commit | ef43253e2e7e2676dc8ca715bf5936dc8846783f (patch) | |
tree | 9f1cedc88f090072563bee37b06bebe4d4becfb1 /llvm/lib | |
parent | 2ac26568d47e395db5be2876f6c14ecf0e4fc280 (diff) | |
download | bcm5719-llvm-ef43253e2e7e2676dc8ca715bf5936dc8846783f.tar.gz bcm5719-llvm-ef43253e2e7e2676dc8ca715bf5936dc8846783f.zip |
Set up ground work to verify preserved analysis info.
llvm-svn: 40039
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/VMCore/PassManager.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp index af3cfb025dc..8d780e98d02 100644 --- a/llvm/lib/VMCore/PassManager.cpp +++ b/llvm/lib/VMCore/PassManager.cpp @@ -598,11 +598,18 @@ bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) { void PMDataManager::removeNotPreservedAnalysis(Pass *P) { AnalysisUsage AnUsage; P->getAnalysisUsage(AnUsage); + const std::vector<AnalysisID> &PreservedSet = AnUsage.getPreservedSet(); + // Verify preserved analysis + for (std::map<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), + E = AvailableAnalysis.end(); I != E; ++I) { + Pass *AP = I->second; + AP->verifyAnalysis(); + } + if (AnUsage.getPreservesAll()) return; - const std::vector<AnalysisID> &PreservedSet = AnUsage.getPreservedSet(); for (std::map<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), E = AvailableAnalysis.end(); I != E; ) { std::map<AnalysisID, Pass*>::iterator Info = I++; |