[clang] 0e62c74 - [analyzer][NFC] Remove a redundant container lookup (#125064)

via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 30 11:48:47 PST 2025


Author: Balazs Benics
Date: 2025-01-30T20:48:43+01:00
New Revision: 0e62c748d440a6d12d190e951c987efe309f40d6

URL: https://github.com/llvm/llvm-project/commit/0e62c748d440a6d12d190e951c987efe309f40d6
DIFF: https://github.com/llvm/llvm-project/commit/0e62c748d440a6d12d190e951c987efe309f40d6.diff

LOG: [analyzer][NFC] Remove a redundant container lookup (#125064)

I found this using my experimental checker present at:
https://github.com/steakhal/llvm-project/tree/bb/add-redundant-lookup-checker

The idea for looking for redundant container lookups was inspired by
#123376

If there is interest, I could think of upstreaming this alpha checker.
(For the StaticAnalyzer sources it was the only TP, and I had no FPs
from the checker btw.)

Added: 
    

Modified: 
    clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
index 55bcb6e220e1ec..7b2cccce93cfe6 100644
--- a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
@@ -488,15 +488,17 @@ ExplodedGraph::trim(ArrayRef<const NodeTy *> Sinks,
   while (!WL2.empty()) {
     const ExplodedNode *N = WL2.pop_back_val();
 
+    auto [Place, Inserted] = Pass2.try_emplace(N);
+
     // Skip this node if we have already processed it.
-    if (Pass2.contains(N))
+    if (!Inserted)
       continue;
 
     // Create the corresponding node in the new graph and record the mapping
     // from the old node to the new node.
     ExplodedNode *NewN = G->createUncachedNode(N->getLocation(), N->State,
                                                N->getID(), N->isSink());
-    Pass2[N] = NewN;
+    Place->second = NewN;
 
     // Also record the reverse mapping from the new node to the old node.
     if (InverseMap) (*InverseMap)[NewN] = N;


        


More information about the cfe-commits mailing list