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

Reply via email to