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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-09-25

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

The problem is a latent bug in ldist.
It turns:
```
  <bb 5> [local count: 955630224]:
  a_5 = a_4 + 1;
  a.4_6 = (char *) a_4;
  *a.4_6 = 0;

  <bb 6> [local count: 1073741824]:
  # a_4 = PHI <a_2(4), a_5(5)>
  # j_7 = PHI <j_3(4), j_8(5)>
  j_8 = j_7 + 18446744073709551615;
  if (j_7 != 0)
    goto <bb 5>; [89.00%]
  else
    goto <bb 7>; [11.00%]
```

Into:
```
  a_2 = (long int) k_1(D);
  j_3 = (long unsigned int) k_1(D);
  _23 = (sizetype) k_1(D);
  _25 = (char *) a_2;
  __builtin_memset (_25, 0, _23);
```

Which then basically says k!=0 as _25 can't be a null pointer.

Reply via email to