diff options
-rw-r--r-- | lib/VMCore/PassManager.cpp | 7 |
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 |