[Bug tree-optimization/88427] [9 Regression] ICE: tree check: expected integer_cst, have plus_expr in get_len, at tree.h:5617
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 10 07:55:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88427
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We have:
(gdb) p debug (lhs_vr)
int [s4_11(D), s4_11(D) + 2]$3 = void
(gdb) p debug (vr_result)
int [s4_11(D), s4_11(D) + 32767]$4 = void
(gdb) p cmp_min
$5 = 0
(gdb) p cmp_max
$6 = -1
and the
/* If the new minimum is larger than the previous one
retain the old value. If the new minimum value is smaller
than the previous one and not -INF go all the way to -INF + 1.
In the first case, to avoid infinite bouncing between different
minimums, and in the other case to avoid iterating millions of
times to reach -INF. Going to -INF + 1 also lets the following
iteration compute whether there will be any overflow, at the
expense of one additional iteration. */
code isn't prepared for cmp_min > 0 or cmp_max < 0 to have vr_result->min () or
vr_result->max () of the form [-]sym + cst.
More information about the Gcc-bugs
mailing list