From 79ee9826b3d11323eb5b2e6b2dfc892fefeeb2b7 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Thu, 27 Jun 2013 15:49:28 +0200 Subject: re PR c++/57208 (Latest chromium compilation fails with enabled LTO) 2013-06-27 Martin Jambor PR lto/57208 * ipa-ref.h (ipa_maybe_record_reference): Declare. * ipa-ref.c (ipa_maybe_record_reference): New function. * cgraphclones.c (cgraph_create_virtual_clone): Use it. * ipa-cp.c (create_specialized_node): Record potential references from aggvals. * Makefile.in (ipa-ref.o): Add IPA_REF_H to dependencies. From-SVN: r200468 --- gcc/ipa-cp.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/ipa-cp.c') diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 9c29d1d..05c6e74 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -2663,6 +2663,7 @@ create_specialized_node (struct cgraph_node *node, { struct ipa_node_params *new_info, *info = IPA_NODE_REF (node); vec *replace_trees = NULL; + struct ipa_agg_replacement_value *av; struct cgraph_node *new_node; int i, count = ipa_get_param_count (info); bitmap args_to_skip; @@ -2704,6 +2705,10 @@ create_specialized_node (struct cgraph_node *node, new_node = cgraph_create_virtual_clone (node, callers, replace_trees, args_to_skip, "constprop"); ipa_set_node_agg_value_chain (new_node, aggvals); + for (av = aggvals; av; av = av->next) + ipa_maybe_record_reference ((symtab_node) new_node, av->value, + IPA_REF_ADDR, NULL); + if (dump_file && (dump_flags & TDF_DETAILS)) { fprintf (dump_file, " the new node is %s/%i.\n", -- cgit v1.1