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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0
                 CC|                            |hubicka at gcc dot gnu.org
           Keywords|                            |ice-on-valid-code,
                   |                            |missed-optimization
           Priority|P3                          |P1
            Version|unknown                     |14.0
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-11-20
            Summary|ICE on valid code at -O1    |[14 Regression] ICE on
                   |(but not at -O{0,s,2,3})    |valid code at -O1 (but not
                   |with "-ftree-vectorize": in |at -O{0,s,2,3}) with
                   |adjust_loop_info_after_peel |"-ftree-vectorize": in
                   |ing, at                     |adjust_loop_info_after_peel
                   |tree-ssa-loop-ivcanon.cc:10 |ing, at
                   |69                          |tree-ssa-loop-ivcanon.cc:10
                   |                            |69
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

      if (wi::leu_p (npeel, loop->nb_iterations_upper_bound))
        loop->nb_iterations_upper_bound -= npeel;
      else
        {
          /* Peeling maximal number of iterations or more
             makes no sense and is a bug.
             We should peel completely.  */
          gcc_unreachable ();

so we're asking to adjust for peeling of 1 iteration with an upper bound
of iterations of zero.  We derive this limit from the array size of a[].

Caused by Honzas loop header copying changes.

Reply via email to