[llvm-commits] [llvm] r38469 - in /llvm/trunk: include/llvm/Pass.h lib/VMCore/PassManager.cpp

Devang Patel dpatel at apple.com
Mon Jul 9 13:52:39 PDT 2007


Author: dpatel
Date: Mon Jul  9 15:52:39 2007
New Revision: 38469

URL: http://llvm.org/viewvc/llvm-project?rev=38469&view=rev
Log:
Fix memory leak.


Modified:
    llvm/trunk/include/llvm/Pass.h
    llvm/trunk/lib/VMCore/PassManager.cpp

Modified: llvm/trunk/include/llvm/Pass.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Pass.h?rev=38469&r1=38468&r2=38469&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Pass.h (original)
+++ llvm/trunk/include/llvm/Pass.h Mon Jul  9 15:52:39 2007
@@ -130,8 +130,14 @@
   }
 
   // Access AnalysisResolver
-  inline void setResolver(AnalysisResolver *AR) { Resolver = AR; }
-  inline AnalysisResolver *getResolver() { return Resolver; }
+  inline void setResolver(AnalysisResolver *AR) { 
+    assert (!Resolver && "Resolver is already set");
+    Resolver = AR; 
+  }
+  inline AnalysisResolver *getResolver() { 
+    assert (Resolver && "Resolver is not set");
+    return Resolver; 
+  }
 
   /// getAnalysisUsage - This function should be overriden by passes that need
   /// analysis information to do their job.  If a pass specifies that it uses a

Modified: llvm/trunk/lib/VMCore/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=38469&r1=38468&r2=38469&view=diff

==============================================================================
--- llvm/trunk/lib/VMCore/PassManager.cpp (original)
+++ llvm/trunk/lib/VMCore/PassManager.cpp Mon Jul  9 15:52:39 2007
@@ -1380,9 +1380,6 @@
     PM->setTopLevelManager(TPM);
   }
 
-  AnalysisResolver *AR = new AnalysisResolver(*Top);
-  P->setResolver(AR);
-
   S.push_back(PM);
 }
 





More information about the llvm-commits mailing list