http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57380
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- There was a deliberate change to require at least one invariant address or a re-use of a previous load. 2010-07-08 Richard Guenther <rguent...@suse.de> + PR tree-optimization/44831 + * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build + a MEM_REF preserving TBAA info of the original dereference. + Dereference the original pointer if the address is not + invariant. + (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require + at least one invariant address that we are going to dereference. I have a fix.