This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [GOOGLE] Fix AutoFDO LIPO ICE due to eliminated abstract origin
- From: Xinliang David Li <davidxl at google dot com>
- To: Teresa Johnson <tejohnson at google dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Rong Xu <xur at google dot com>, Dehao Chen <dehao at google dot com>
- Date: Sat, 23 Aug 2014 11:50:07 -0700
- Subject: Re: [GOOGLE] Fix AutoFDO LIPO ICE due to eliminated abstract origin
- Authentication-results: sourceware.org; auth=none
- References: <CAAe5K+UZXbPFe-X9Q77whGfcwQkVLKbSfo2dknRvj-wrgFss_A at mail dot gmail dot com>
Is it a problem specific to LIPO?
David
On Sat, Aug 23, 2014 at 11:41 AM, Teresa Johnson <tejohnson@google.com> wrote:
> This patch ensures we don't prematurely delete an abstract origin node, leading
> to creating a new one after LIPO linking when we invoke similar handling in
> symtab_remove_unreachable_nodes, which then does not have a resolved node. It
> makes the handling of such nodes equivalent to that in
> symtab_remove_unreachable_nodes.
>
> Tested with regression tests and internal benchmarks. Ok for google/4_9
>
> 2014-08-23 Teresa Johnson <tejohnson@google.com>
>
> Google ref b/16731481
> * cgraphunit.c (analyze_functions): Don't remove origin node.
>
> Index: cgraphunit.c
> ===================================================================
> --- cgraphunit.c (revision 214320)
> +++ cgraphunit.c (working copy)
> @@ -1051,6 +1051,7 @@ analyze_functions (void)
> struct cgraph_node *origin_node
> = cgraph_get_node (DECL_ABSTRACT_ORIGIN (decl));
> origin_node->used_as_abstract_origin = true;
> + enqueue_node (origin_node);
> }
> }
> else
>
> --
> Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413