This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR59626, _FORTIFY_SOURCE wrappers and LTO
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, gcc-patches at gcc dot gnu dot org, Jakub Jelinek <jakub at redhat dot com>
- Date: Tue, 25 Mar 2014 20:01:33 +0100
- Subject: Re: [PATCH] Fix PR59626, _FORTIFY_SOURCE wrappers and LTO
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot LSU dot 2 dot 11 dot 1403241048220 dot 26135 at zhemvz dot fhfr dot qr> <20140325000713 dot GA22285 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1403250954060 dot 26135 at zhemvz dot fhfr dot qr>
> > > 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