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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-08-12
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
trying to combine definition of r101 in:
   20: r101:SI=0
into:
   57: {r103:SI=r103:SI>>r101:SI#0;clobber flags:CC;}
      REG_DEAD r101:SI
      REG_UNUSED flags:CC
      REG_EQUAL 0x1>>r101:SI#0
instruction becomes a no-op:
(parallel [
        (set (reg:SI 103 [ a_lsm.11D.2845 ])
            (reg:SI 103 [ a_lsm.11D.2845 ]))
        (clobber (reg:CC 17 flags))
    ])
original cost = 4 + 4, replacement cost = 2147483647; keeping replacement
rescanning insn with uid = 57.
updating insn 57 in-place
verify found no changes in insn with uid = 57.
deleting insn 20
deleting insn with uid = 20.
````

So if noop_move_p is true (which in this case it is), we don't remove the
clobbers unlike in ths case of !noop_move_p .

Reply via email to