This revision was automatically updated to reflect the committed changes. Closed by commit rC342308: [analyzer] Skip printing duplicate nodes, even if nodes have multiple… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits.
Changed prior to commit: https://reviews.llvm.org/D51821?vs=165619&id=165624#toc Repository: rC Clang https://reviews.llvm.org/D51821 Files: lib/StaticAnalyzer/Core/ExprEngine.cpp Index: lib/StaticAnalyzer/Core/ExprEngine.cpp =================================================================== --- lib/StaticAnalyzer/Core/ExprEngine.cpp +++ lib/StaticAnalyzer/Core/ExprEngine.cpp @@ -3177,7 +3177,12 @@ << ")" << " NodeID: " << N->getID(&Graph) << " (" << (const void *)N << ")\\|"; - State->printDOT(Out, N->getLocationContext()); + bool SameAsAllPredecessors = + std::all_of(N->pred_begin(), N->pred_end(), [&](const ExplodedNode *P) { + return P->getState() == State; + }); + if (!SameAsAllPredecessors) + State->printDOT(Out, N->getLocationContext()); return Out.str(); } };
Index: lib/StaticAnalyzer/Core/ExprEngine.cpp =================================================================== --- lib/StaticAnalyzer/Core/ExprEngine.cpp +++ lib/StaticAnalyzer/Core/ExprEngine.cpp @@ -3177,7 +3177,12 @@ << ")" << " NodeID: " << N->getID(&Graph) << " (" << (const void *)N << ")\\|"; - State->printDOT(Out, N->getLocationContext()); + bool SameAsAllPredecessors = + std::all_of(N->pred_begin(), N->pred_end(), [&](const ExplodedNode *P) { + return P->getState() == State; + }); + if (!SameAsAllPredecessors) + State->printDOT(Out, N->getLocationContext()); return Out.str(); } };
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits