> > >   PR lto/59626
> > >   * passes.c (ipa_write_summaries): Drop function bodies of
> > >   extern always-inline functions.
> > > 
> > >   * gcc.dg/lto/pr59626_0.c: New testcase.
> > >   * gcc.dg/lto/pr59626_1.c: Likewise.
> > > 
> > Hi,
> > do you see some problem with this approach? Unlike in dropping for 
> > ipa_write_summaries
> > it drops just after early optimizations and it is done unconditonally.
> > I see it kills every cross module inlining of extern inlines, but so does 
> > your patch.
> > This may make difference for C++ implicit extern inlines (keyed functions) 
> > where I can
> > imagine users both to declare them always inline and then call indirectly...
> > I do it unconditionally because I do not like much of idea of making the 
> > LTO and non-LTO
> > pipelines diverging even more.
> 
> Well - it doesn't fix the testcase for me.

A fair complaint ;) I just check that it removes the body of always_inline.  I 
will check
why it doesn't help.  We probably also need to drop the attribute as you do in 
ipa-profile.

Honza

Reply via email to