This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA (cgraph): C++ 'structor decloning patch, Mark III
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Jason Merrill <jason at redhat dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Jan Hubicka <jh at suse dot cz>, gcc-patches List <gcc-patches at gcc dot gnu dot org>, Bill Maddox <maddox at google dot com>, Stuart Hastings <stuart at apple dot com>, mjambor at suse dot cz
- Date: Wed, 11 Dec 2013 21:58:51 +0100
- Subject: Re: RFA (cgraph): C++ 'structor decloning patch, Mark III
- Authentication-results: sourceware.org; auth=none
- References: <528E45BB dot 6030100 at redhat dot com> <20131210094828 dot GC8808 at atrey dot karlin dot mff dot cuni dot cz> <52A78393 dot 1060506 at redhat dot com> <20131211135525 dot GA29399 at kam dot mff dot cuni dot cz> <52A88084 dot 901 at redhat dot com> <52A891BC dot 7060307 at redhat dot com> <20131211171354 dot GB5135 at kam dot mff dot cuni dot cz> <52A8C012 dot 9040306 at redhat dot com>
> On 12/11/2013 12:14 PM, Jan Hubicka wrote:
> >>Is ipa_passes the right place to initialize calls_comdat_local?
> >
> >The flag is probably needed in both early inliner and IPA inliner. A conservative
> >place to initialize it would be in inline_analyze_function.
> >(early inliner analyze function twice, first before inlining and next after
> >early optimization, so the update should also clear the flag if call disapeared).
>
> Unfortunately early inlining doesn't call inline_analyze_function on
> all functions, so we need to initialize it somewhere else. Is there
> a reason not to set up an initial value in ipa_passes?
Well, less thing we have done behind passmanager back, the better. ipa-passes
should really just set up compiler to execute ipa passes, but it should not do
any analysis by itself.
Every function we inline or clone needs to go through the inliner's analysis.
But looking into it now, the place is probably compute_inline_paremeters, since
inline_analyze_function is just a wrapper for the IPA pass, but
pass_data_inline_parameters bypass it (this is bit confusing - I will clean it
up)
Honza
>
> >I think we also want to clear it if call to comdat local function is marked inline.
>
> Makes sense.
>
> Jason