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).

Reply via email to