[clang] [WIP][analyzer] Refactor `ExplodedGraph::trim()` (PR #139939)

DonĂ¡t Nagy via cfe-commits cfe-commits at lists.llvm.org
Thu May 15 06:52:32 PDT 2025


================
@@ -4096,7 +4096,8 @@ std::string ExprEngine::DumpGraph(bool trim, StringRef Filename) {
 
 std::string ExprEngine::DumpGraph(ArrayRef<const ExplodedNode *> Nodes,
                                   StringRef Filename) {
-  std::unique_ptr<ExplodedGraph> TrimmedG(G.trim(Nodes));
+  TrimGraphWorklist Worklist{Nodes};
+  std::unique_ptr<ExplodedGraph> TrimmedG(G.trim(Worklist));
----------------
NagyDonat wrote:

I pushed yet another small commit where I provide an "easy-to-call" overload for `trim` that takes an `ArrayRef` instead of a worklist: https://github.com/llvm/llvm-project/pull/139939/commits/e01e8bddd0959df81db7d34fbe800ed2a639a4af

However I'm also open to reverting [the commit where I start to consume the array of nodes](https://github.com/llvm/llvm-project/pull/139939/commits/c2a6891a417c854b2679236707a6a49f3a487b1a) if you think that this is premature optimiziation.

https://github.com/llvm/llvm-project/pull/139939


More information about the cfe-commits mailing list