------- Comment #2 from rguenth at gcc dot gnu dot org 2010-09-15 09:47 ------- We can't hoist invariant control flow. Also print *,c is surely thought to be an escape point for c and thus may clobber it.
I'd rate this impossible to do for the middle-end (and generally not worth the hassle to implement). Better fix your sources ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45676