http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57448
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-05-29 CC| |stevenb.gcc at gmail dot com Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- ;; _7 = __atomic_load_4 (&seq, 2); (insn 13 12 0 (set (reg:SI 61 [ D.2227 ]) (mem/v:SI (symbol_ref:DI ("seq") [flags 0x40] <var_decl 0x7ffff6e67558 seq>) [-1 S4 A32])) t.c:8 -1 (nil)) the MEM alias-set of -1 (ALIAS_SET_MEMORY_BARRIER) is supposed to prevent this, but PRE does not know about this special property (it should "kill" all refs crossing it).