From d4c0c9f6352d49c09f436670b2e9821469a15c1d Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 4 Jun 2010 11:00:09 +0000 Subject: [PATCH] re PR lto/41584 (WHOPR doesn't grok empty units) 2010-06-04 Richard Guenther PR lto/41584 * cgraph.h (struct varpool_node): Add lto_file_data field. * lto-cgraph.c (input_varpool_node): Initialize it. lto/ * lto.c (lto_1_to_1_map): Use the proper file_data for varpool nodes. From-SVN: r160258 --- gcc/ChangeLog | 6 ++++++ gcc/cgraph.h | 2 ++ gcc/lto-cgraph.c | 1 + gcc/lto/ChangeLog | 6 ++++++ gcc/lto/lto.c | 1 + 5 files changed, 16 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bab4a24b147..8ad6bf66ce9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-06-04 Richard Guenther + + PR lto/41584 + * cgraph.h (struct varpool_node): Add lto_file_data field. + * lto-cgraph.c (input_varpool_node): Initialize it. + 2010-06-04 Uros Bizjak * config/i386/predicates.md (pic_symbolic_operand): Remove predicate. diff --git a/gcc/cgraph.h b/gcc/cgraph.h index c82fc181ebe..48a6c3f2e9a 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -466,6 +466,8 @@ struct GTY((chain_next ("%h.next"), chain_prev ("%h.prev"))) varpool_node { /* Circular list of nodes in the same comdat group if non-NULL. */ struct varpool_node *same_comdat_group; struct ipa_ref_list ref_list; + /* File stream where this node is being written to. */ + struct lto_file_decl_data * lto_file_data; PTR GTY ((skip)) aux; /* Ordering of all cgraph nodes. */ int order; diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index bb912cebaea..079593271ed 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -1089,6 +1089,7 @@ input_varpool_node (struct lto_file_decl_data *file_data, decl_index = lto_input_uleb128 (ib); var_decl = lto_file_decl_data_get_var_decl (file_data, decl_index); node = varpool_node (var_decl); + node->lto_file_data = file_data; bp = lto_input_bitpack (ib); node->externally_visible = bp_unpack_value (bp, 1); diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index c67cee78d9f..f7f2703badd 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2010-06-04 Richard Guenther + + PR lto/41584 + * lto.c (lto_1_to_1_map): Use the proper file_data for + varpool nodes. + 2010-05-30 Jan Hubicka * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 5031659d740..fd474b68486 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -599,6 +599,7 @@ lto_1_to_1_map (void) { if (vnode->alias || !vnode->needed) continue; + file_data = vnode->lto_file_data; slot = pointer_map_contains (pmap, file_data); if (slot) partition = (ltrans_partition) *slot; -- 2.30.2