https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93820
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 47910 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47910&action=edit gcc10-pr93820.patch Untested fix. For GCC11 we might as well perform some kind of quick DSE in the store-merging pass (I mean, e.g. after sort_by_bitpos sorting, where the stores are sorted by increasing bitpos and with the same bitpos by increasing order, it shouldn't be that expensive for each store to check if it isn't fully redundant through stores with higher order, mark them some way, create special merged store for all of them that would emit nothing and just get those stores deleted and move them at the end of m_store_info or temporarily away from it so that coalesce_immediate_stores doesn't have to skip them).