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?