------- Comment #7 from rguenth at gcc dot gnu dot org 2007-11-22 13:28 ------- Created an attachment (id=14606) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14606&action=view) patch doing TBAA pruning on the access site
But this patch makes the regression in the particular function go away. In other functions the alias information would allow hoisting invariant loads after this patch but neither PRE nor LIM do it there, possibly because they do not try to prove that # VUSE <SMT.20637_172(D)> D.627356_122 = p_121->engine_m.data_m; cannot trap (I'm not 100% sure that can be proven). The patch doesn't cause any notable performance improvement though (probably because of the above reason). Also the missing V_MUST_DEFs cause missing propagation/dce of trivial copies in arrays. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32624