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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-03-03
                 CC|                            |amker at gcc dot gnu.org
          Component|c++                         |tree-optimization
            Version|unknown                     |7.0.1
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
It is induction variable optimization (-fivopts) that re-writes the main
induction variable.  We have

Original cost 17 (complexity 2)

Final cost 17 (complexity 2)

Selected IV set for loop 2 at t.C:44, 4 avg niters, 0 expressions, 1 IVs:
Candidate 5:
  Var befor: ivtmp.25_108
  Var after: ivtmp.25_107
  Incr POS: before exit test
  IV struct:
    Type:       sizetype
    Base:       0
    Step:       32
    Biv:        N
    Overflowness wrto loop niter:       No-overflow

Replacing exit test: if (i_32 >= 0)

but it doesn't seem to account the extra cost for the exit test replacement
when facing equal original/final cost.

Reply via email to