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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=121712

--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #10)
> I think the biggest issue is at forwprop3 we have:
> ```
>   <bb 2> [local count: 96636761]:
>   _19 = &foo_6(D)->m_array;
>   __for_begin ={v} {CLOBBER(bob)};
>   _43 = foo_6(D) + 24;
> ...
> 
>   <bb 3> [local count: 853673667]:
>   # _51 = PHI <_17(4), _19(2)>
>   # SR.81_45 = PHI <_17(4), _19(2)>
>   _15 = MEM[(int * const * const &)_51];
>   _16 = MEM[(int * const * const &)_51 + 8];
>   if (_15 != _16)
>     goto <bb 5>; [5.50%]
>   else
>     goto <bb 4>; [94.50%]
> 
>   <bb 4> [local count: 806721616]:
>   _17 = _51 + 24;
>   if (_17 != _43)
>     goto <bb 3>; [94.50%]
>   else
>     goto <bb 5>; [5.50%]
> ```
> 
> But this is a loop that iterators just once.  But we don't remove this
> "loop" until late.

Oh yes PR 121712.

Reply via email to