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

--- Comment #41 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Earnshaw from comment #40)
> reload_cse_noop_set_p is the function that decides the store is redundant. 
> For this parallel case it's being called once for each set, but all the
> cases return true, so the store insn gets removed.

OK, so in the end it's rtx_equal_for_cselib_1 that needs similar treatment
as in r10-7635 but only for a WAR mode (when we check whether a SET_DEST
already contains SET_SRC).  I'm not sure if the info required is
eventually available, I'd have to trace where it decides the values are
the same.  If we can't reasonably do that we'd have to axe
reload_cse_noop_set_p when flag_strict_aliasing is in effect.

Reply via email to