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

--- Comment #10 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 10 Mar 2016, spop at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70159
> 
> --- Comment #9 from Sebastian Pop <spop at gcc dot gnu.org> ---
> Created attachment 37927
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37927&action=edit
> patch for hoisting expressions
> 
> Updated the patch from PR23286 to hoist the redundant expressions:
> 
>   <bb 2>:
>   inv_4 = 1.0e+0 / d_3(D);
>   _18 = min_5(D) - a_6(D);
>   _19 = _18 / inv_4;
>   _20 = max_9(D) - a_6(D);
>   _21 = _20 / inv_4;
>   if (inv_4 >= 0.0)
>     goto <bb 4>;
>   else
>     goto <bb 3>;
> 
>   <bb 3>:
> 
>   <bb 4>:
>   # tmin_1 = PHI <_19(2), _21(3)>
>   # tmax_2 = PHI <_21(2), _19(3)>
>   _16 = tmin_1 + tmax_2;
>   return _16;
> 
> The attached patch does not pass make check and causes some infinite 
> recursion.

Yes, the patch has some issues still.  As for every stage1 I plan
to try picking it up again ...

I notice from the above output that it doesn't see the CSE
opportunity but inserts both expressions - it shouldn't do that,
so there's something "new wrong" with the patch (or your update
to it)

Reply via email to