[PATCH] D97874: [analyzer] Improve SVal cast from integer to bool using known RangeSet
Balázs Benics via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 10 05:47:18 PST 2021
steakhal added a comment.
I would suggest **not** merging this patch.
Circumventing the `assume` machinery could cause potential crashes.
By tracking equivalence classes and whatnot, our solver is becoming more and more capable.
Doing a bifurcation, then realizing that the current path is infeasible had caused some trouble in the past (D88019 <https://reviews.llvm.org/D88019>), and
it still can cause crashes RangeConstraintManager infeasible execution path due to EquivalenceClasses <https://bugs.llvm.org/show_bug.cgi?id=49490>.
Reproducing and debugging these is a real headache. And I think there are more bugs like these lurking inside.
If we want to have a chance to tackle all of these for once and all, we need a common entrypoint for querying assumptions.
Thus, I would suggest not providing an extra API.
@NoQ @vsavchenko What's your take on this?
You could probably put these changes into the assume handler, but that would need **really** careful evaluation.
If you think it's worth the effort, consider taking a few measurements on several projects.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97874/new/
https://reviews.llvm.org/D97874
More information about the cfe-commits
mailing list