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.