From: Richard Guenther Date: Fri, 4 Jun 2010 11:00:09 +0000 (+0000) Subject: re PR lto/41584 (WHOPR doesn't grok empty units) X-Git-Tag: releases/gcc-4.6.0~6774 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4c0c9f6352d49c09f436670b2e9821469a15c1d;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bab4a24b1473..8ad6bf66ce95 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 c82fc181ebef..48a6c3f2e9a5 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 bb912cebaea7..079593271ed3 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 c67cee78d9f5..f7f2703badd8 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 5031659d740a..fd474b684863 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;