https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121985
--- Comment #5 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Somehow ranger is mucking things up.
=========== BB 2 ============
Imports: var_8
Exports: var_8
<bb 2> [local count: 153437704]:
var_8 = f;
pretmp_23 = a;
if (var_8 <= 5)
goto <bb 3>; [85.71%]
else
goto <bb 4>; [14.29%]
2->3 (T) var_8 : [irange] char [0, 5]
2->4 (F) var_8 : [irange] char [6, +INF]
That looks fine to me.
=========== BB 3 ============
var_8 [irange] char [0, 5]
Partial equiv (_28 pe8 bnd.9_10)
Relational : (_26 != _31)
<bb 3> [local count: 131511457]:
bnd.9_10 = 6 - var_8;
[ ... ]
bnd.9_10 : [irange] char [1, 1]
_28 : [irange] unsigned long [1, 1]
That range on bnd.9_10 looks totally bogus.