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