2017-04-07 Martin Liska <mliska@suse.cz>
PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.
2017-04-07 Martin Liska <mliska@suse.cz>
PR ipa/80212
* ipa-split.c (split_function): Add function part to a same comdat
group.
From-SVN: r246759
+2017-04-07 Martin Liska <mliska@suse.cz>
+
+ PR ipa/80212
+ * ipa-split.c (split_function): Add function part to a same comdat
+ group.
+
2017-04-07 Richard Biener <rguenther@suse.de>
PR middle-end/80341
/* Let's take a time profile for splitted function. */
node->tp_first_run = cur_node->tp_first_run + 1;
+ if (cur_node->same_comdat_group)
+ node->add_to_same_comdat_group (cur_node);
+
/* For usual cloning it is enough to clear builtin only when signature
changes. For partial inlining we however can not expect the part
of builtin implementation to have same semantic as the whole. */
+2017-04-07 Martin Liska <mliska@suse.cz>
+
+ PR ipa/80212
+ * g++.dg/ipa/pr80212.C: New test.
+
2017-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.dg/tree-ssa/pr79800.c: Require c99_runtime.
--- /dev/null
+// PR ipa/80212
+// { dg-options "-O2 --param partial-inlining-entry-probability=403796683 -fno-early-inlining" }
+
+struct b
+{
+ virtual b *c () const;
+};
+struct d : virtual b
+{
+};
+struct e : d
+{
+ e *
+ c () const
+ {
+ }
+};
+main () { e a; }