This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix part of PR58712
- From: Markus Trippelsdorf <markus at trippelsdorf dot de>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 24 Oct 2013 12:50:02 +0200
- Subject: Re: [PATCH] Fix part of PR58712
- Authentication-results: sourceware.org; auth=none
- References: <20131015103108 dot GA18500 at x4> <CAFiYyc2YomKCE1JZ8rs_KT8OB2FRDa1O+=x21CiZkbFiOxS6Nw at mail dot gmail dot com> <20131018101053 dot GA28991 at x4> <CAFiYyc0fhkOdgE5BTp6-QRqrwVPQ13oJU+JKhTUKtgQ1Ai5Qgg at mail dot gmail dot com> <20131018131436 dot GB31703 at kam dot mff dot cuni dot cz> <20131021073309 dot GA285 at x4>
On 2013.10.21 at 09:33 +0200, Markus Trippelsdorf wrote:
Ping.
I do not have write access...
>
> LTO bootstrapped and tested on x86_64-unknown-linux-gnu.
>
> I would be grateful if one of you guys could apply it.
> Thanks.
>
> 2013-10-21 Markus Trippelsdorf <markus@trippelsdorf.de>
>
> PR ipa/58712
> * cgraph.c (cgraph_create_edge_1): Add indirect_unknown_callee
> as argument.
> (cgraph_create_edge): Use the new argument.
> (cgraph_create_indirect_edge): Likewise.
>
>
> diff --git a/gcc/cgraph.c b/gcc/cgraph.c
> index 6ebd0c71e026..7f83a016dcf3 100644
> --- a/gcc/cgraph.c
> +++ b/gcc/cgraph.c
> @@ -814,7 +814,8 @@ cgraph_set_call_stmt (struct cgraph_edge *e, gimple new_stmt,
>
> static struct cgraph_edge *
> cgraph_create_edge_1 (struct cgraph_node *caller, struct cgraph_node *callee,
> - gimple call_stmt, gcov_type count, int freq)
> + gimple call_stmt, gcov_type count, int freq,
> + bool indir_unknown_callee)
> {
> struct cgraph_edge *edge;
>
> @@ -874,6 +875,7 @@ cgraph_create_edge_1 (struct cgraph_node *caller, struct cgraph_node *callee,
> edge->indirect_info = NULL;
> edge->indirect_inlining_edge = 0;
> edge->speculative = false;
> + edge->indirect_unknown_callee = indir_unknown_callee;
> if (call_stmt && caller->call_site_hash)
> cgraph_add_edge_to_call_site_hash (edge);
>
> @@ -887,9 +889,8 @@ cgraph_create_edge (struct cgraph_node *caller, struct cgraph_node *callee,
> gimple call_stmt, gcov_type count, int freq)
> {
> struct cgraph_edge *edge = cgraph_create_edge_1 (caller, callee, call_stmt,
> - count, freq);
> + count, freq, false);
>
> - edge->indirect_unknown_callee = 0;
> initialize_inline_failed (edge);
>
> edge->next_caller = callee->callers;
> @@ -926,10 +927,9 @@ cgraph_create_indirect_edge (struct cgraph_node *caller, gimple call_stmt,
> gcov_type count, int freq)
> {
> struct cgraph_edge *edge = cgraph_create_edge_1 (caller, NULL, call_stmt,
> - count, freq);
> + count, freq, true);
> tree target;
>
> - edge->indirect_unknown_callee = 1;
> initialize_inline_failed (edge);
>
> edge->indirect_info = cgraph_allocate_init_indirect_info ();
>
> --
> Markus
>
--
Markus