[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