[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-06-03 Thread Alex Brachet via Phabricator via cfe-commits
abrachet added a comment. As a heads up, because I'm not sure how often folks look at Github Issues. This patch causes a stack overflow on some Objective-C++ code. I have filed https://github.com/llvm/llvm-project/issues/55851. Could you take a look @martong? Repository: rG LLVM Github

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-25 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. > This change in itself reduced the run-time of the analysis to 16 seconds, on > my machine. However, the repetition of States should still be addressed. I am > going to upload the upper patch for a starter. Sorry, in that 16s, I measured also the rebuild and linkage

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-25 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. Thanks Balazs for the report. Here is my analysis. Looks like during the recursive simplification, `reAssume` produces `State`s that had been created by a previous `reAssume`. Before this change, to stop the recursion it was enough to to check if the `OldState`

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-25 Thread Balázs Benics via Phabricator via cfe-commits
steakhal added a comment. This commit introduced a serious runtime regression on this code: #define DEMONSTRATE_HANG typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint64_t; void clang_analyzer_numTimesReached(void); int

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-10 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. In D124758#3502913 , @martong wrote: > Hopefully this commit fixes the failure: > https://github.com/llvm/llvm-project/commit/21feafaeb85aad2847db44aa2208999b166ba4a9 Yes, it fixed the test case both at clang-armv7-quick and at

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-10 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. Hopefully this commit fixes the failure: https://github.com/llvm/llvm-project/commit/21feafaeb85aad2847db44aa2208999b166ba4a9 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124758/new/ https://reviews.llvm.org/D124758

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-10 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. `infeasible-crash.c` fails both on arm and windows. The reasion is the incompatible `memmove` declaration. I am to fix this ASAP. Armv7 error: 'warning' diagnostics seen but not expected: File

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-10 Thread Gabor Marton via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1c1c1e25f94f: [analyzer] Implement assume in terms of assumeDual (authored by martong). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-06 Thread Gabor Marton via Phabricator via cfe-commits
martong added inline comments. Comment at: clang/test/Analysis/infeasible-crash.c:3 +// RUN: -analyzer-checker=core \ +// RUN: -analyzer-checker=alpha.unix.cstring.OutOfBounds,alpha.unix.cstring.UninitializedRead \ +// RUN: -analyzer-checker=debug.ExprInspection \

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-06 Thread Gabor Marton via Phabricator via cfe-commits
martong updated this revision to Diff 427636. martong marked an inline comment as done. martong added a comment. - Remove ExprInspection checker from the test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124758/new/

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-06 Thread Gabor Marton via Phabricator via cfe-commits
martong updated this revision to Diff 427635. martong added a comment. - Rebase to parent revision Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124758/new/ https://reviews.llvm.org/D124758 Files:

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-02 Thread Balázs Benics via Phabricator via cfe-commits
steakhal accepted this revision. steakhal added a comment. This revision is now accepted and ready to land. The patch looks great. Thanks for the stats. Beyond that, I feel these tests sooo fragile; Although I don't have anything to improve that, so be it. Comment at:

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-02 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. Although there is a visible slowdown, the new run-times seem promising. My guess is that it is usually not more than 1-2%. F22955239: image.png Full report: F22955251: stats.html Repository:

[PATCH] D124758: [analyzer] Implement assume in terms of assumeDual

2022-05-02 Thread Gabor Marton via Phabricator via cfe-commits
martong created this revision. martong added reviewers: NoQ, steakhal, ASDenysPetrov. Herald added subscribers: manas, gamesh411, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: Szelethus. Herald added a project: