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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Hmm:
```
  MEM[(struct _Vector_base *)&w]._M_impl.D.25239._M_start = _73;
  _66 = _73 + 1;
  MEM[(struct _Vector_base *)&w]._M_impl.D.25239._M_end_of_storage = _66;
  MEM[(struct vector *)&w].D.25935._M_impl.D.25239._M_finish = _66;
  _486 = _63 + 2;
  v.D.25935._M_impl.D.25239._M_finish = _486;
  _154 = _63 + 3;
  v.D.25935._M_impl.D.25239._M_finish = _154;
  _138 = MEM[(struct X * const &)&v];
  _215 = v.D.25935._M_impl.D.25239._M_end_of_storage;
  _216 = v.D.25935._M_impl.D.25239._M_finish;
  if (_215 != _216)
```

There is huge missed optimizations here.
I noticed that the last fre is not iterative and we have the case where many of
the ifs are removed due to fre and forwprop at the end.

Reply via email to