aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/PassManager.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 4a5c7f47a9..81753a1181 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -484,8 +484,11 @@ bool ModulePassManager_New::analysisCurrentlyAvailable(AnalysisID AID) {
/// Return true IFF AnalysisID AID is currently available.
bool PassManagerImpl_New::analysisCurrentlyAvailable(AnalysisID AID) {
- // TODO : Check inactive managers
- return activeManager->analysisCurrentlyAvailable(AID);
+ bool available = false;
+ for (std::vector<ModulePassManager_New *>::iterator itr = PassManagers.begin(),
+ e = PassManagers.end(); !available && itr != e; ++itr)
+ available = (*itr)->analysisCurrentlyAvailable(AID);
+ return available;
}
/// Schedule pass P for execution. Make sure that passes required by