https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44612
--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> --- For what it is worth, still occurs with on mainline (GCC 11). (In reply to Richard Biener from comment #6) > Confirmed. > > DSE doesn't remove memset or memcpy calls. > > We also do not have a flag to mark functions only clobbering local or > incoming memory (thus effectively not have side-effects if the argument > reachable memory is unused after a call). (In reply to Jakub Jelinek from comment #7) > Well, RTL DSE to some extent knows about memset. > And, for tree DSE handling it would be much easier and desirable.