[Bug tree-optimization/111422] Wrong code at -O3 on x86_64-linux-gnu

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Sep 15 12:35:27 GMT 2023


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

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

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
There's a missed optimization.  We have

  # PT = { D.2843 }
  _44 = &g + _43;
...
  *_44 = 8;
  g ={v} {CLOBBER(eol)};
...
  *_44 = 8;
  g ={v} {CLOBBER(eol)};
...
  *_44 = 8;
  g ={v} {CLOBBER(eol)};

I guess the clobber doesn't kill the ref according to stmt_kills_ref_p,
we'd have to special-case singleton points-to sets here.  Optimizing the
stores would avoid the bogus sharing of g and n.


More information about the Gcc-bugs mailing list