aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-12-04 19:02:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-12-04 18:02:26 +0000
commit88636b62bc7fae0ef7eaac6a22e5cd8107e69be8 (patch)
tree1f9f6f9c155b3d1c4819fc258a6fabfc90f13049 /gcc/lto
parentc5404f1c2fc79761392acf49af2c46079d907756 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/lto/lto-symtab.c5
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