https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110793
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > Actually this is more likely inlining heuristics that know that main is only > called once ever and does not inline as much into it. > > Try renaming main to foo and try again b Yes it is this heurstic. Renaming main to foo produces: foo(): .LFB1395: .cfi_startproc xorl %eax, %eax ret For all optimization levels.