------- Comment #7 from rguenth at gcc dot gnu dot org 2009-05-01 20:34 ------- We can't perform loop store sinking as in and res alias. And our other store sinking pass is just too stupid for this case as we have a missed CSE opportunity for the address stored to:
D.1243_8 = *D.1242_7; if (D.1243_8 != 0) goto <bb 4>; else goto <bb 5>; <bb 4>: D.1246_12 = res_11(D) + D.1241_5; *D.1246_12 = 4660; goto <bb 6>; <bb 5>: D.1246_15 = res_11(D) + D.1241_5; *D.1246_15 = 39030; but this is the usual missing code hoisting. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34849