diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-12-04 19:02:26 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-12-04 18:02:26 +0000 |
commit | 88636b62bc7fae0ef7eaac6a22e5cd8107e69be8 (patch) | |
tree | 1f9f6f9c155b3d1c4819fc258a6fabfc90f13049 /gcc/lto | |
parent | c5404f1c2fc79761392acf49af2c46079d907756 (diff) | |
download | gcc-88636b62bc7fae0ef7eaac6a22e5cd8107e69be8.zip gcc-88636b62bc7fae0ef7eaac6a22e5cd8107e69be8.tar.gz gcc-88636b62bc7fae0ef7eaac6a22e5cd8107e69be8.tar.bz2 |
* ipa-inline.c (can_inline_edge_p) Use merged_comdat.
* cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
* cgraph.c (cgraph_node::dump): Dump merged_comdat.
* ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
comdat and non-comdat.
* cgraph.h (cgraph_node): Rename merged to merged_comdat.
* ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
and icf_merged.
* lto-symtab.c (lto_cgraph_replace_node): Update code computing
merged_comdat.
From-SVN: r231291
Diffstat (limited to 'gcc/lto')
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto-symtab.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index a508999..df2eaa9 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2015-12-04 Jan Hubicka <hubicka@ucw.cz> + + * lto-symtab.c (lto_cgraph_replace_node): Update code computing + merged_comdat. + 2015-12-01 Jan Hubicka <hubicka@ucw.cz> * lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET. diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c index 235df67..e5055b5 100644 --- a/gcc/lto/lto-symtab.c +++ b/gcc/lto/lto-symtab.c @@ -63,8 +63,9 @@ lto_cgraph_replace_node (struct cgraph_node *node, gcc_assert (!prevailing_node->global.inlined_to); prevailing_node->mark_address_taken (); } - if (node->definition && prevailing_node->definition) - prevailing_node->merged = true; + if (node->definition && prevailing_node->definition + && DECL_COMDAT (node->decl) && DECL_COMDAT (prevailing_node->decl)) + prevailing_node->merged_comdat = true; /* Redirect all incoming edges. */ compatible_p |