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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to