diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-21 19:42:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-21 17:42:46 +0000 |
commit | ecd03d10ccfc428749fcada10f9bee48e13f22cc (patch) | |
tree | 484cfb0de94cfefd7d49f6f11a6d0c3fb1d87308 /gcc | |
parent | 71a810c300b69083846e8a5aab4745c65b7657de (diff) | |
download | gcc-ecd03d10ccfc428749fcada10f9bee48e13f22cc.zip gcc-ecd03d10ccfc428749fcada10f9bee48e13f22cc.tar.gz gcc-ecd03d10ccfc428749fcada10f9bee48e13f22cc.tar.bz2 |
lto-cgraph.c (lto_output_node): Do not output comdat groups for boundary nodes.
* lto-cgraph.c (lto_output_node): Do not output comdat groups
for boundary nodes.
(output_cgraph): Do not arrange comdat groups for boundary nodes.
From-SVN: r158615
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto-cgraph.c | 24 |
2 files changed, 7 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a532459..bb8e0aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-04-21 Jan Hubicka <jh@suse.cz> + + * lto-cgraph.c (lto_output_node): Do not output comdat groups + for boundary nodes. + (output_cgraph): Do not arrange comdat groups for boundary nodes. + 2010-04-21 Jakub Jelinek <jakub@redhat.com> PR debug/40040 diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index 309db7f..cb87143 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -324,7 +324,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node, lto_output_sleb128_stream (ob->main_stream, node->global.estimated_growth); lto_output_uleb128_stream (ob->main_stream, node->global.inlined); - if (node->same_comdat_group) + if (node->same_comdat_group && !boundary_p) { ref = lto_cgraph_encoder_lookup (encoder, node->same_comdat_group); gcc_assert (ref != LCC_NOT_FOUND); @@ -447,30 +447,8 @@ output_cgraph (cgraph_node_set set) /* We should have moved all the inlines. */ gcc_assert (!callee->global.inlined_to); add_node_to (encoder, callee); - /* Also with each included function include all other functions - in the same comdat group. */ - if (callee->same_comdat_group) - { - struct cgraph_node *next; - for (next = callee->same_comdat_group; - next != callee; - next = next->same_comdat_group) - if (!cgraph_node_in_set_p (next, set)) - add_node_to (encoder, next); - } } } - /* Also with each included function include all other functions - in the same comdat group. */ - if (node->same_comdat_group) - { - struct cgraph_node *next; - for (next = node->same_comdat_group; - next != node; - next = next->same_comdat_group) - if (!cgraph_node_in_set_p (next, set)) - add_node_to (encoder, next); - } } /* Write out the nodes. We must first output a node and then its clones, |