]> granicus.if.org Git - clang/commitdiff
Replace a map of boolean values with a set.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 10 Mar 2012 15:08:09 +0000 (15:08 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 10 Mar 2012 15:08:09 +0000 (15:08 +0000)
No functionality change.

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

lib/Analysis/AnalysisDeclContext.cpp

index 1020898e60cba737a79a9b77db291a59c91cd212..3291764b9adfc083892f0b6f95d5bdbbbbb50983 100644 (file)
@@ -25,7 +25,7 @@
 #include "clang/Analysis/CFGStmtMap.h"
 #include "clang/Analysis/Support/BumpVector.h"
 #include "llvm/Support/SaveAndRestore.h"
-#include "llvm/ADT/SmallSet.h"
+#include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/Support/ErrorHandling.h"
 
 using namespace clang;
@@ -335,8 +335,8 @@ namespace {
 class FindBlockDeclRefExprsVals : public StmtVisitor<FindBlockDeclRefExprsVals>{
   BumpVector<const VarDecl*> &BEVals;
   BumpVectorContext &BC;
-  llvm::DenseMap<const VarDecl*, unsigned> Visited;
-  llvm::SmallSet<const DeclContext*, 4> IgnoredContexts;
+  llvm::SmallPtrSet<const VarDecl*, 4> Visited;
+  llvm::SmallPtrSet<const DeclContext*, 4> IgnoredContexts;
 public:
   FindBlockDeclRefExprsVals(BumpVector<const VarDecl*> &bevals,
                             BumpVectorContext &bc)
@@ -355,21 +355,15 @@ public:
 
   void VisitDeclRefExpr(DeclRefExpr *DR) {
     // Non-local variables are also directly modified.
-    if (const VarDecl *VD = dyn_cast<VarDecl>(DR->getDecl()))
+    if (const VarDecl *VD = dyn_cast<VarDecl>(DR->getDecl())) {
       if (!VD->hasLocalStorage()) {
-        unsigned &flag = Visited[VD];
-        if (!flag) {
-          flag = 1;
+        if (Visited.insert(VD))
           BEVals.push_back(VD, BC);
-        }
       } else if (DR->refersToEnclosingLocal()) {
-        unsigned &flag = Visited[VD];
-        if (!flag) {
-          flag = 1;
-          if (IsTrackedDecl(VD))
-            BEVals.push_back(VD, BC);
-        }
+        if (Visited.insert(VD) && IsTrackedDecl(VD))
+          BEVals.push_back(VD, BC);
       }
+    }
   }
 
   void VisitBlockExpr(BlockExpr *BR) {