------- Comment #23 from rguenth at gcc dot gnu dot org 2009-04-03 11:37 ------- On trunk we get the following after early optimizations:
<bb 2>: predD.2646 = fD.2070; predD.2653.predD.2098 = &predD.2646; predD.2660.predD.2116 = &predD.2653; predD.2667.predD.2134 = &predD.2660; predD.2674.predD.2152 = &predD.2667; predD.2681.predD.2170 = &predD.2674; predD.2688.predD.2188 = &predD.2681; predD.2695.predD.2206 = &predD.2688; predD.2702.predD.2224 = &predD.2695; D.2720_24 = predD.2702.predD.2224; D.2728_25 = D.2720_24->predD.2206; D.2721_26 = D.2728_25->predD.2188; D.2727_27 = D.2721_26->predD.2170; D.2722_28 = D.2727_27->predD.2152; D.2726_29 = D.2722_28->predD.2134; D.2723_30 = D.2726_29->predD.2116; D.2725_31 = D.2723_30->predD.2098; D.2724_32 = *D.2725_31; D.2719_33 = D.2724_32 (); return D.2719_33; now, while SCCVN figures out that predD.2702.predD.2224 loads &predD.2695 it is not able to cascade here, which is because we do not "simplify" the vn references after substituting the value-numbers (PR37892). -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- BugsThisDependsOn| |37892 Last reconfirmed|2006-04-05 16:11:16 |2009-04-03 11:37:53 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8781