This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR middle-end/53321: [4.8 Regression] LTO bootstrap failed with bootstrap-profiled
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, Jan Hubicka <jh at suse dot cz>
- Date: Thu, 2 Aug 2012 06:35:15 -0700
- Subject: Re: PR middle-end/53321: [4.8 Regression] LTO bootstrap failed with bootstrap-profiled
- References: <20120707040814.GA23165@intel.com> <20120731123923.GA14617@atrey.karlin.mff.cuni.cz> <CAMe9rOomcm3rt-pTxZ_B_1NrQgp2kf4yfRL2A21mFpP-6ULDfA@mail.gmail.com> <20120802102353.GD31241@kam.mff.cuni.cz>
On Thu, Aug 2, 2012 at 3:23 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>
>> This patch works passed profiledbootstrap with LTO as well as LTO -O3
>> on 176.gcc in SPEC CPU 2000. I have to add 2 inline_edge_summary_vec
>> checks to avoid ICE. OK to install?
>
> Thanks, it looks good. I am just concerned about...
>> diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
>> index 33cf7d2..7a8844f 100644
>> --- a/gcc/ipa-split.c
>> +++ b/gcc/ipa-split.c
>> @@ -1415,7 +1415,7 @@ execute_split_functions (void)
>> }
>> /* This can be relaxed; function might become inlinable after splitting
>> away the uninlinable part. */
>> - if (!inline_summary (node)->inlinable)
>> + if (inline_edge_summary_vec && !inline_summary (node)->inlinable)
>
> .. this one. spliting is executed before free_inline_summary and thus should
> not be affected. Or is it because of it gets called from process_new_functions
> because some IPA pass adds a new function?
It is called from pass_feedback_split_functions:
NEXT_PASS (pass_all_early_optimizations);
{
...
}
NEXT_PASS (pass_ipa_free_inline_summary);
NEXT_PASS (pass_ipa_tree_profile);
{
struct opt_pass **p = &pass_ipa_tree_profile.pass.sub;
NEXT_PASS (pass_feedback_split_functions);
}
OK to install?
Thanks.
--
H.J.