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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amker at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we run into

  /* Ignore loops of while (i-- < 10) type.  */
  if (code != NE_EXPR)
    {
      if (iv0->step && tree_int_cst_sign_bit (iv0->step))
        return false;

      if (!integer_zerop (iv1->step) && !tree_int_cst_sign_bit (iv1->step))
        return false;
    }

where code == LE_EXPR from 0 <= iv1 with iv1 being {0, +, 1}.

This specifically singles out loop-until-wrap.  We'd need to teach niter
analysis this kind of loop.

Reply via email to