[GOOGLE] Remove overly-aggressive LIPO assert

Teresa Johnson tejohnson@google.com
Fri Dec 4 19:29:00 GMT 2015


Ping.
Thanks, Teresa

On Wed, Dec 2, 2015 at 12:46 PM, Teresa Johnson <tejohnson@google.com> wrote:
> Remove an assert that was overly-strict and already partially redundant
> with an immediately prior assert. In this case we had a hidden visibility
> function clone that was created after the LIPO link due to indirect call
> promotion. It is a cgraph_is_aux_decl_external node.
>
> Fixes failures and passes regression tests. Ok for Google branch?
>
> 2015-12-02  Teresa Johnson  <tejohnson@google.com>
>
> Google ref b/25925223.
> * l-ipo.c (cgraph_lipo_get_resolved_node_1): Remove overly-strict
> assert.
>
> Index: l-ipo.c
> ===================================================================
> --- l-ipo.c (revision 231131)
> +++ l-ipo.c (working copy)
> @@ -1457,9 +1457,6 @@ cgraph_lipo_get_resolved_node_1 (tree decl, bool d
>                gcc_assert (DECL_EXTERNAL (decl)
>                            || cgraph_is_aux_decl_external (n)
>                            || DECL_VIRTUAL_P (decl));
> -              gcc_assert (/* This is the case for explicit extern
> instantiation,
> -                             when cgraph node is not created before link.  */
> -                          DECL_EXTERNAL (decl));
>                cgraph_link_node (n);
>                return n;
>              }
>
>
> --
> Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413



-- 
Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413



More information about the Gcc-patches mailing list