[Bug tree-optimization/71031] [6/7 Regression] ICE in extract_range_from_binary_expr_1, at tree-vrp.c:2535 w/ -Os
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 10 08:57:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71031
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-05-10
Known to work| |5.3.0
Target Milestone|--- |6.2
Summary|[7 Regression] ICE in |[6/7 Regression] ICE in
|extract_range_from_binary_e |extract_range_from_binary_e
|xpr_1, at tree-vrp.c:2535 |xpr_1, at tree-vrp.c:2535
|w/ -Os |w/ -Os
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.
#1 0x00000000011690fc in extract_range_from_binary_expr_1 (vr=0x7fffffffd8b0,
code=PLUS_EXPR, expr_type=<integer_type 0x7ffff688b888 unsigned int>,
vr0_=0x7fffffffd790, vr1_=0x7fffffffd7b0)
at /space/rguenther/src/svn/trunk3/gcc/tree-vrp.c:2534
2534 gcc_assert ((min_ovf == -1 && max_ovf == 0)
(gdb) l
2529 {
2530 /* Min underflow or max overflow. The range kind
2531 changes to VR_ANTI_RANGE. */
2532 bool covers = false;
2533 wide_int tem = tmin;
2534 gcc_assert ((min_ovf == -1 && max_ovf == 0)
2535 || (max_ovf == 1 && min_ovf == 0));
2536 type = VR_ANTI_RANGE;
2537 tmin = tmax + 1;
2538 if (wi::cmp (tmin, tmax, sgn) < 0)
(gdb) p min_ovf
$1 = 1
(gdb) p max_ovf
$2 = 0
also ICEs on the GCC 6 branch.
More information about the Gcc-bugs
mailing list