From: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat, 10 Mar 2012 15:08:09 +0000 (+0000) Subject: Replace a map of boolean values with a set. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b20a90dff2ed605153c68a5c58b6aadcdb0952b;p=clang Replace a map of boolean values with a set. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152494 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/AnalysisDeclContext.cpp b/lib/Analysis/AnalysisDeclContext.cpp index 1020898e60..3291764b9a 100644 --- a/lib/Analysis/AnalysisDeclContext.cpp +++ b/lib/Analysis/AnalysisDeclContext.cpp @@ -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) {