Don't add the same analysis implementation pair twice.
[oota-llvm.git] / include / llvm / PassAnalysisSupport.h
index a3342d51386be8dd055ac180d045e5ec8b64bae6..fede1216c3c4dd3de7444737c88011a28398633a 100644 (file)
@@ -142,6 +142,8 @@ public:
   Pass *findImplPass(Pass *P, AnalysisID PI, Function &F);
 
   void addAnalysisImplsPair(AnalysisID PI, Pass *P) {
+    if (findImplPass(PI) == P)
+      return;
     std::pair<AnalysisID, Pass*> pir = std::make_pair(PI,P);
     AnalysisImpls.push_back(pir);
   }