summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-12-12 23:09:32 +0000
committerDevang Patel <dpatel@apple.com>2006-12-12 23:09:32 +0000
commitf58183dae1f9cb64181ed8efbb75e3ae46c9d9b8 (patch)
tree1449d123b0c07890367ebab535d11cc6174da829
parentbe6bd55e96203f3d96a757083a068eb288c88a8e (diff)
downloadbcm5719-llvm-f58183dae1f9cb64181ed8efbb75e3ae46c9d9b8.tar.gz
bcm5719-llvm-f58183dae1f9cb64181ed8efbb75e3ae46c9d9b8.zip
collectRequiredAnalysisPasses().
Include RequiredTrainsitiveSet also. llvm-svn: 32508
-rw-r--r--llvm/lib/VMCore/PassManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp
index 1f1890c31f6..3498fcf62f9 100644
--- a/llvm/lib/VMCore/PassManager.cpp
+++ b/llvm/lib/VMCore/PassManager.cpp
@@ -678,6 +678,14 @@ void PMDataManager::collectRequiredAnalysisPasses(std::vector<Pass *> &RP,
assert (AnalysisPass && "Analysis pass is not available");
RP.push_back(AnalysisPass);
}
+
+ const std::vector<AnalysisID> &IDs = AnUsage.getRequiredTransitiveSet();
+ for (std::vector<AnalysisID>::const_iterator I = IDs.begin(),
+ E = IDs.end(); I != E; ++I) {
+ Pass *AnalysisPass = findAnalysisPass(*I, true);
+ assert (AnalysisPass && "Analysis pass is not available");
+ RP.push_back(AnalysisPass);
+ }
}
// All Required analyses should be available to the pass as it runs! Here
OpenPOWER on IntegriCloud