http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49203
--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-05-28 12:57:19 UTC --- (In reply to comment #1) > Looks like LIM is only able to hoist invariants rather than push down > invariants. It can push down invariant stores though. Indeed. code-sinking (in tree-ssa-sink.c) would be able to fix this but it is run before loop store motion.