https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62630

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 34801
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34801&action=edit
use VRP to interpret an expr and compute its range

The attached patch is a prototype that tries to replace niter analysis
bound_difference value-range estimation code by VRP.  I've chosen to replace
the case with non-equal variable part only (which is what needs improvement
for this testcase), but in theory most of the code should be replaced.
The bound-using-guard code needs refinement (the niter parts go to greater
lengths, expanding simple operations and whatnot - in theory we can go up
SSA use->def chains in the recursion as well, it just has a cost).

Note that without the MIN/MAX shortening this patch doesn't help as niter
analysis doesn't present VRP with expanded enough expressions and of course
all the IL has no value-ranges associated as graphite re-wrote it completely.

Reply via email to