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

--- Comment #14 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The only difference in your example with respect to my patch is:
```
  if (_24 != 0)
    goto <bb 10>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 9> [local count: 640272252]:
  header_read_16 = header_read_9;

  <bb 10> [local count: 955630224]:
  # header_read_17 = PHI <header_read_9(8), header_read_16(9)>

  <bb 11> [local count: 1073741824]:
  # header_read_9 = PHI <header_read_17(10), header_read_8(4)>
```
vs
```
  if (_25 != 0)
    goto <bb 10>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 9> [local count: 640272252]:
  header_read_16 = header_read_9;

  <bb 10> [local count: 1073741824]:
  # header_read_9 = PHI <header_read_9(8), header_read_8(4), header_read_16(9)>
```

I also see that header_read_16 is really header_read_9 so that if stmt could be
even removed. (but that seem to be an artifact of the [bad?] reduction).

If anything the issue is with the one less phi hoop jump, ranger seems to pick
up now the range . Which case it is just by an accident that the warning was
not there beforehand.

Reply via email to