This patch adds new functions to the SectionRef and ObjectFile interfaces to determin...
[oota-llvm.git] / include / llvm / PassAnalysisSupport.h
index 0136966ea08b3a8bfec8526e5dbe7503a69829e7..d14d73b1b14f37488920f0a60ba2447e0fdacb48 100644 (file)
@@ -120,7 +120,7 @@ public:
 class PMDataManager;
 class AnalysisResolver {
 private:
-  AnalysisResolver();  // DO NOT IMPLEMENT
+  AnalysisResolver() LLVM_DELETED_FUNCTION;
 
 public:
   explicit AnalysisResolver(PMDataManager &P) : PM(P) { }
@@ -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);
   }