aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-analysis.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-06-16 17:02:34 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-06-16 15:02:34 +0000
commitda66d5964324bd5a3ce782f46a7d5e30137b5c20 (patch)
treefcdfc3d0c661e959702bf48ed72c7a09f4b9f923 /gcc/ipa-inline-analysis.c
parent9e9f6bf0079f1a8ff965efe7d971a1b636f36fbc (diff)
downloadgcc-da66d5964324bd5a3ce782f46a7d5e30137b5c20.zip
gcc-da66d5964324bd5a3ce782f46a7d5e30137b5c20.tar.gz
gcc-da66d5964324bd5a3ce782f46a7d5e30137b5c20.tar.bz2
revert: symtab.c (symtab_node::reset_section): New method.
Revert: * symtab.c (symtab_node::reset_section): New method. * cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local for localization. * cgraph.h (reset_section): Declare. * ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups; do not consider comdat locals. * cgraphclones.c (set_new_clone_decl_and_node_flags): Get section for new symbol. * ipa-visiblity.c (cgraph_externally_visible_p): Cleanup. (update_visibility_by_resolution_info): Consider UNDEF; fix checking; reset sections of symbols dragged out of the comdats. (function_and_variable_visibility): Reset sections of localized symbols. From-SVN: r211710
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r--gcc/ipa-inline-analysis.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index 7f9febc..c50a722 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -3877,7 +3877,7 @@ do_estimate_growth (struct cgraph_node *node)
/* COMDAT functions are very often not shared across multiple units
since they come from various template instantiations.
Take this into account. */
- else if (node->externally_visible && node->get_comdat_group ()
+ else if (DECL_COMDAT (node->decl)
&& cgraph_can_remove_if_no_direct_calls_p (node))
d.growth -= (info->size
* (100 - PARAM_VALUE (PARAM_COMDAT_SHARING_PROBABILITY))
@@ -3928,7 +3928,7 @@ growth_likely_positive (struct cgraph_node *node, int edge_growth ATTRIBUTE_UNUS
&& (ret = node_growth_cache[node->uid]))
return ret > 0;
if (!cgraph_will_be_removed_from_program_if_no_direct_calls (node)
- && (!node->externally_visible || !node->get_comdat_group ()
+ && (!DECL_COMDAT (node->decl)
|| !cgraph_can_remove_if_no_direct_calls_p (node)))
return true;
max_callers = inline_summary (node)->size * 4 / edge_growth + 2;