https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64058
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- This sounds like a TER effect - the -fdump-rtl-expand-details dump should show differences in SSA coalescing / TER replacements. You are talking about -(note 291 287 289 65 [bb 65] NOTE_INSN_BASIC_BLOCK) -(jump_insn 289 291 290 65 (set (pc) +(note 291 287 16 65 [bb 65] NOTE_INSN_BASIC_BLOCK) +(insn 16 291 289 65 (set (reg:SI 85 [ l1_lsm.7 ]) + (reg:SI 113 [ u1_lsm.6 ])) /nfs/ims/home/izamyati/test_216304.c:72 -1 + (nil)) +(jump_insn 289 16 290 65 (set (pc) (label_ref 288)) /nfs/ims/home/izamyati/test_216304.c:72 -1 (nil) -> 288) which doesn't appear in the good dump - thus it looks like u1_lsm.6 and l1_lsm.7 were coalesced there. Btw, on trunk the testcase is now optimized to trap unconditionally with -flto or -fwhole-program because the global vars are not initialized. Can you check on the coalescing theory?