https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79593

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com

--- Comment #20 from Jeffrey A. Law <law at redhat dot com> ---
Could we perhaps attack this in RTL DSE?

If we look at the RTL .dse2 dump we have:

(insn 84 24 92 4 (set (reg:SI 0 ax [116])
        (mem/c:SI (reg/f:SI 7 sp) [6 %sfp+-8 S4 A64])) "j.c":21:35 67
{*movsi_internal}
     (nil))
(insn 92 84 93 4 (set (mem/c:SI (reg/f:SI 7 sp) [6 %sfp+-8 S4 A64])
        (reg:SI 0 ax [116])) "j.c":21:35 67 {*movsi_internal}
     (expr_list:REG_DEAD (reg:SI 0 ax [116])
        (nil)))

insn 92 is clearly a dead store.

Walking up in the dump file we have:

**scanning insn=84
  mem: (reg/f:SI 7 sp)

   after canon_rtx address: (reg/f:SI 7 sp)

   after cselib_expand address: (reg/f:SI 7 sp)

   after canon_rtx address: (reg/f:SI 7 sp)
  varying cselib base=1:1 offset = 0
 processing cselib load mem:(mem/c:SI (reg/f:SI 7 sp) [6 %sfp+-8 S4 A64])
mems_found = 0, cannot_delete = true

**scanning insn=92
  mem: (reg/f:SI 7 sp)

   after canon_rtx address: (reg/f:SI 7 sp)

   after cselib_expand address: (reg/f:SI 7 sp)

   after canon_rtx address: (reg/f:SI 7 sp)
  varying cselib base=1:1 offset = 0
 processing cselib store [0..4)
mems_found = 1, cannot_delete = false

Reply via email to