------- Comment #2 from rguenth at gcc dot gnu dot org 2009-10-21 15:07 ------- Btw, the 2nd insertion is really weird (the first one in bb9 is just loop invariant motion).
<bb 14>: pretmp.7_45 = rootr.dt; goto <bb 4>; <bb 13>: <bb 5>: # prephitmp.8_48 = PHI <prephitmp.8_47(12), prephitmp.8_50(13)> D.1375_18 = (real(kind=8)) i_3; D.1376_19 = prephitmp.8_48; fact_20 = D.1375_18 * D.1376_19; if (js_9(D) <= D.1351_12) goto <bb 15>; else goto <bb 16>; it looks to me that we fail to translate over the first loop and its header copy - something that partial-PRE ought to have accomplished. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783