https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97315
--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
evrp and ranger disagree on the singleton range for _3 in the following stmt:
<bb 5> :
if (_3 != 1)
(gdb) ptg evrp_ret
0
(gdb) ptg ranger_ret
1
Which is interesting because BB5 is actually unreachable:
add_type_duplicate ()
{
struct tree_node * D.2384;
struct tree_node * add_type_duplicate_type.2_1;
short unsigned int _2;
int _3;
tree_code_class _4;
<bb 2> :
add_type_duplicate_type.2_1 = add_type_duplicate_type;
_2 = add_type_duplicate_type.2_1->base.code;
_3 = (int) _2;
_4 = tree_code_type[_3];
if (_4 != 0)
goto <bb 3>; [INV]
else
goto <bb 11>; [INV]
<bb 3> :
if (_2 == 0)
goto <bb 13>; [INV]
else
goto <bb 11>; [INV]
<bb 4> :
if (0 != 0)
goto <bb 5>; [66.00%]
else
goto <bb 15>; [34.00%]
<bb 15> :
goto <bb 12>; [100.00%]
<bb 5> :
if (_3 != 1)
goto <bb 6>; [0.04%]
else
goto <bb 14>; [99.96%]
<bb 14> :
goto <bb 7>; [100.00%]
<bb 6> :
tree_check_failed ();
<bb 13> :
<bb 7> :
<bb 12> :
if (0 != 0)
goto <bb 8>; [66.00%]
else
goto <bb 10>; [34.00%]
<bb 8> :
if (1 != 0)
goto <bb 9>; [0.04%]
else
goto <bb 10>; [99.96%]
<bb 9> :
tree_check_failed ();
<bb 10> :
if (1 != 0)
goto <bb 4>; [INV]
else
goto <bb 11>; [INV]
<bb 11> :
return;
}
I'm guessing evrp