r375280 - [analyzer] Drop the logic for collapsing the state if it's same as in preds.
Artem Dergachev via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 18 13:15:36 PDT 2019
Author: dergachev
Date: Fri Oct 18 13:15:35 2019
New Revision: 375280
URL: http://llvm.org/viewvc/llvm-project?rev=375280&view=rev
Log:
[analyzer] Drop the logic for collapsing the state if it's same as in preds.
One of the first attempts to reduce the size of the exploded graph dumps
was to skip the state dump as long as the state is the same as in all of
the predecessor nodes. With all the new facilities in place (node joining,
diff dumps), this feature doesn't do much, and when it does,
it's more harmful than useful. Let's remove it.
Modified:
cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp
cfe/trunk/test/Analysis/dump_egraph.c
Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp?rev=375280&r1=375279&r2=375280&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp Fri Oct 18 13:15:35 2019
@@ -3083,16 +3083,7 @@ struct DOTGraphTraits<ExplodedGraph*> :
Out << "\\l"; // Adds a new-line to the last program point.
Indent(Out, Space, IsDot) << "],\\l";
- 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(), Space);
- } else {
- Indent(Out, Space, IsDot) << "\"program_state\": null";
- }
+ State->printDOT(Out, N->getLocationContext(), Space);
Out << "\\l}\\l";
return Out.str();
Modified: cfe/trunk/test/Analysis/dump_egraph.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/dump_egraph.c?rev=375280&r1=375279&r2=375280&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/dump_egraph.c (original)
+++ cfe/trunk/test/Analysis/dump_egraph.c Fri Oct 18 13:15:35 2019
@@ -48,3 +48,5 @@ int foo() {
// CHECK: \"pretty\": \"'\\\\x13'\"
// CHECK: \"has_report\": 1
+
+// CHECK-NOT: \"program_state\": null
More information about the cfe-commits
mailing list