http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58681

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> (In reply to Richard Biener from comment #1)
> > We used to factor
> > 
> >   # c_1 = PHI <-3(2), 0(4), 0(3)>
> >   # d_2 = PHI <-1(2), 12(4), 12(3)>
> >   # e_3 = PHI <-20(2), 26(4), 26(3)>
> >   # f_4 = PHI <-5(2), 7(4), 7(3)>
> > lab:
> > 
> > into
> > 
> > <bb42>
> >   # c_11 = PHI <0(4), 0(3)>
> >   # d_21 = PHI <12(4), 12(3)>
> >   # e_31 = PHI <26(4), 26(3)>
> >   # f_41 = PHI <7(4), 7(3)>
> 
> Of course just
> 
>     c_11 = 0;
>     d_21 = 12;
>     e_31 = 26;
>     f_41 = 7;
> 
> >   # c_1 = PHI <-3(2), c_11(42)>
> >   # d_2 = PHI <-1(2), d_21(42)>
> >   # e_3 = PHI <-20(2), e_31(42)>
> >   # f_4 = PHI <-5(2), f_41(42)>
> > lab:

Eh, or

<bb42>:


   # c_1 = PHI <-3(2), 0(42)>
   # d_2 = PHI <-1(2), 12(42)>
   # e_3 = PHI <-20(2), 26(42)>
   # f_4 = PHI <-5(2), 41(42)>
lab:

basically un-merge PHIs intelligently.

> > 
> > when we really got out-of-SSA.  I suspect this would have fixed the issue?

Reply via email to