[Bug tree-optimization/84933] [8 Regression] ICE in set_value_range, at tree-vrp.c:288 since r257852

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Sun Mar 18 19:08:00 GMT 2018


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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com

--- Comment #1 from Jeffrey A. Law <law at redhat dot com> ---
Looks like a bug in vrp_intersect_ranges_1 or its children to me.

We call vrp_intersect_range_1 with:


(gdb) p debug_value_range (vr0)
~[0, 2147483647]  EQUIVALENCES: { c.0_1 } (1 elements)
$16 = void
(gdb) p debug_value_range (vr1)
~[1, 2147483647]  EQUIVALENCES: { c.0_1 } (1 elements)
$17 = void


Which then proceeds to call set_and_canonicalize_value_range with min/max as:


(gdb) p debug_tree (min)
 <integer_cst 0x7ffff01c7af8 type <enumeral_type 0x7ffff01b39d8 a> constant
2147483648>
$18 = void
(gdb) p debug_tree (max)
 <integer_cst 0x7ffff01c71b0 type <enumeral_type 0x7ffff01b39d8 a> constant 1>
$19 = void


Which looks bogus to me.

I'll have to look deeper tues/wed if nobody gets to it before then..


More information about the Gcc-bugs mailing list