[Bug ipa/102982] [12 Regression] Dead Code Elimination Regression at -O3 (trunk vs 11.2.0)

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 28 11:42:10 GMT 2021


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |missed-optimization
   Target Milestone|---                         |12.0
     Ever confirmed|0                           |1
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jamborm at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2021-10-28
          Component|tree-optimization           |ipa

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I'd say that's indeed "unfortunate".  The main missing optimization though is
treating

  c[0][0][0] = 0;

as a "store" when trying to make 'c' constant, not realizing it stores the
same value as the static initializer (after making it readonly we'd have to
elide all such stores though).  That would fix the testcase as to what
is likely the desired trigger of the foo() call removal.

Honza/Martin?


More information about the Gcc-bugs mailing list