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?

Reply via email to