]> granicus.if.org Git - clang/commitdiff
retain checker: Don't bother using a FoldingSet to unique summaries.
authorTed Kremenek <kremenek@apple.com>
Mon, 4 May 2009 04:30:18 +0000 (04:30 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 4 May 2009 04:30:18 +0000 (04:30 +0000)
We never compare summaries by their pointers, and we create only a
handful of them when analyzing a given function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70824 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/CFRefCount.cpp

index 58f581aff83ce7a581df25efb980ec5e4f8c2e36..505ec7d11d1b81d583a6f9759b36f90399e11de5 100644 (file)
@@ -530,9 +530,6 @@ class VISIBILITY_HIDDEN RetainSummaryManager {
   //  Typedefs.
   //==-----------------------------------------------------------------==//
   
-  typedef llvm::FoldingSet<RetainSummary>
-          SummarySetTy;
-  
   typedef llvm::DenseMap<FunctionDecl*, RetainSummary*>
           FuncSummariesTy;
   
@@ -551,10 +548,7 @@ class VISIBILITY_HIDDEN RetainSummaryManager {
   
   /// GCEnabled - Records whether or not the analyzed code runs in GC mode.
   const bool GCEnabled;
-  
-  /// SummarySet - A FoldingSet of uniqued summaries.
-  SummarySetTy SummarySet;
-  
+    
   /// FuncSummaries - A map from FunctionDecls to summaries.
   FuncSummariesTy FuncSummaries; 
   
@@ -782,25 +776,10 @@ RetainSummary*
 RetainSummaryManager::getPersistentSummary(ArgEffects AE, RetEffect RetEff,
                                            ArgEffect ReceiverEff,
                                            ArgEffect DefaultEff,
-                                           bool isEndPath) {
-  
-  // Generate a profile for the summary.
-  llvm::FoldingSetNodeID profile;
-  RetainSummary::Profile(profile, AE, RetEff, DefaultEff, ReceiverEff,
-                         isEndPath);
-  
-  // Look up the uniqued summary, or create one if it doesn't exist.
-  void* InsertPos;  
-  RetainSummary* Summ = SummarySet.FindNodeOrInsertPos(profile, InsertPos);
-  
-  if (Summ)
-    return Summ;
-  
+                                           bool isEndPath) {  
   // Create the summary and return it.
-  Summ = (RetainSummary*) BPAlloc.Allocate<RetainSummary>();
+  RetainSummary *Summ = (RetainSummary*) BPAlloc.Allocate<RetainSummary>();
   new (Summ) RetainSummary(AE, RetEff, DefaultEff, ReceiverEff, isEndPath);
-  SummarySet.InsertNode(Summ, InsertPos);
-  
   return Summ;
 }