[Bug tree-optimization/93820] [8/9/10 Regression] wrong code at -O3 on x86_64-linux-gnu since r9-1732

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 25 19:21:00 GMT 2020


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


More information about the Gcc-bugs mailing list