Now that SROA can form alloca's for dynamic vector accesses, further improve it to...
[oota-llvm.git] / include / llvm / PassAnalysisSupport.h
index 0136966ea08b3a8bfec8526e5dbe7503a69829e7..5c6a2d7a92f9638c0118f03f1274071ceb82a288 100644 (file)
@@ -143,6 +143,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);
   }