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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
           Priority|P3                          |P2
                 CC|                            |matz at gcc dot gnu.org

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm.  It takes quite some time for us to elide the dead stores to bd, ar and at
(and only ar and at are vectorized).  I guess we run into some alias-walk
limits of DCE and vectorizing the stores fixes that.   Unfortunately those
limits are hard-coded:

          if (/* Constant but quadratic for small functions.  */
              total_chain > 128 * 128
              /* Linear in the number of may-defs.  */
              && total_chain > 32 * longest_chain
              /* Linear in the number of uses.  */
              && total_chain > nr_walks * 32)
            {

this points to the known issue of stack var coalescing with CLOBBERs and
indeed -fstack-reuse=none fixes the testcase, without actually spotting
the bad coalescing.

So related to that duplicate bug we have about this issue.

Reply via email to