From 21cd8589291a1b415106740acd56509e0143356d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 3 Dec 2019 19:24:00 +0100 Subject: Clear calls_comdat_local when comdat group is dissolved while looking into Firefox inlining dumps I noticed that we often do not inline because we think function calls comdat local while the comdat group itself has been dissolved. * cgraph.c (cgraph_node::verify_node): Check that calls_comdat_local is set only for symbol in comdat group. * symtab.c (symtab_node::dissolve_same_comdat_group_1): Clear it. From-SVN: r278944 --- gcc/cgraph.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/cgraph.c') diff --git a/gcc/cgraph.c b/gcc/cgraph.c index ae61de4..7288440 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -3094,6 +3094,11 @@ cgraph_node::verify_node (void) error ("inline clone is forced to output"); error_found = true; } + if (calls_comdat_local && !same_comdat_group) + { + error ("calls_comdat_local is set outside of a comdat group"); + error_found = true; + } for (e = indirect_calls; e; e = e->next_callee) { if (e->aux) -- cgit v1.1