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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> not sure why that only happens in the last phiopt pass.  Ah, because
> the main phiopt pass sees the following:
> 
>   <bb 2> [local count: 1073741825]:
>   if (d_3(D) < max_4(D))
>     goto <bb 3>; [50.00%]
>   else
>     goto <bb 4>; [50.00%]
> 
>   <bb 3> [local count: 536870912]:
>   _1 = -max_4(D);
>   if (_1 < d_3(D))
>     goto <bb 5>; [50.00%]
>   else
>     goto <bb 4>; [50.00%]
> 
>   <bb 4> [local count: 805306368]:
> 
>   <bb 5> [local count: 1073741825]:
>   # iftmp.0_2 = PHI <1(3), 0(4)>

The above issue of not doing the phiopt early was solved finally by
r12-5300-gf98f373dd822b35c.

Reply via email to