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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-06-21
           Keywords|                            |missed-optimization
                 CC|                            |amker at gcc dot gnu.org,
                   |                            |guojiufu at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
This comes up with a pending patch to split loops like

void
foo (int *a, int *b, unsigned l, unsigned n)
{
  while (++l != n)
    a[l] = b[l] + 1;
}

into

  while (++l > n)
    a[l] = b[l] + 1;
  while (++l < n)
    a[l] = b[l] + 1;

since for the second loop (the "usual" case involving no wrapping of the IV)
this results in affine IVs and thus analyzable data dependence.

Reply via email to