On Tue, Feb 4, 2014 at 6:52 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
> Hi,
> while merging nodes in lto-symtab, we need to copy the force_output and 
> forced_by_abi flags.
> Thanks to Markus who noticed the issue.

Don't we need to choose the forced_by_abi variant if there are variants
without that flag?  Do we maybe even need to warn about such mismatches?

Richard.

> Bootstrapped/regtested x86_64-linux, comitted.
>
> Honza
>
> Index: ChangeLog
> ===================================================================
> --- ChangeLog   (revision 207438)
> +++ ChangeLog   (working copy)
> @@ -1,3 +1,9 @@
> +2014-02-04  Jan Hubicka  <hubi...@ucw.cz>
> +           Markus Trippelsdorf
> +
> +       * lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
> +       merge force_output and forced_by_abi flags.
> +
>  2014-01-24  Balaji V. Iyer  <balaji.v.i...@intel.com>
>
>         * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
> Index: lto-symtab.c
> ===================================================================
> --- lto-symtab.c        (revision 207438)
> +++ lto-symtab.c        (working copy)
> @@ -59,6 +59,8 @@ lto_cgraph_replace_node (struct cgraph_n
>    /* Merge node flags.  */
>    if (node->force_output)
>      cgraph_mark_force_output_node (prevailing_node);
> +  if (node->forced_by_abi)
> +    prevailing_node->forced_by_abi = true;
>    if (node->address_taken)
>      {
>        gcc_assert (!prevailing_node->global.inlined_to);
> @@ -110,6 +112,10 @@ lto_varpool_replace_node (varpool_node *
>    gcc_assert (!vnode->analyzed || prevailing_node->analyzed);
>
>    ipa_clone_referring (prevailing_node, &vnode->ref_list);
> +  if (vnode->force_output)
> +    prevailing_node->force_output = true;
> +  if (vnode->forced_by_abi)
> +    prevailing_node->forced_by_abi = true;
>
>    /* Be sure we can garbage collect the initializer.  */
>    if (DECL_INITIAL (vnode->decl)

Reply via email to