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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits