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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org
   Last reconfirmed|                            |2021-04-29
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |missed-optimization
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note in your example 'f' is compiled with -O0 so it wouldn't be inlined
because there's a mismatch in optimize options.

But the real problem is that IPA and early inlining look at the global
'optimize' and -finline settings.  For the early inliner that's possible to
fix.

Fixed testcase:

__attribute__ ((optimize (2)))
static int f (void) { return 0; }

__attribute__ ((optimize (2)))
int g (void) { return f (); }

#pragma GCC optimize ("2")
int h (void) { return f (); }

Reply via email to