From e3f2be84bc09dd37db0cf949d3f6574ce04b956b Mon Sep 17 00:00:00 2001 From: hubicka Date: Tue, 17 Feb 2015 20:58:43 +0000 Subject: [PATCH] * ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local. * ipa-inline.c (want_inline_function_to_all_callers_p): Use call_for_symbol_and_aliases instead of call_for_symbol_thunks_and_aliases. (ipa_inline): Likewise. * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): first walk aliases. * ipa.c (symbol_table::remove_unreachable_nodes): Use call_for_symbol_and_aliases. * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. (ipa_propagate_frequency_1): Use it; use opt_for_fn (ipa_propagate_frequency): Update. (ipa_profile): Add opt_for_fn guards. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220771 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 17 +++++++++++++++++ gcc/ipa-visibility.c | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e52e7cf2054..9c0672b7471 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +2015-02-17 Jan Hubicka + + * ipa-visibility.c (function_and_variable_visibility): Only + check locality if node is not already local. + * ipa-inline.c (want_inline_function_to_all_callers_p): Use + call_for_symbol_and_aliases instead of + call_for_symbol_thunks_and_aliases. + (ipa_inline): Likewise. + * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): + first walk aliases. + * ipa.c (symbol_table::remove_unreachable_nodes): Use + call_for_symbol_and_aliases. + * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. + (ipa_propagate_frequency_1): Use it; use opt_for_fn + (ipa_propagate_frequency): Update. + (ipa_profile): Add opt_for_fn guards. + 2015-02-17 Thomas Schwinge * config/nvptx/mkoffload.c (parse_file): Fix logic error in diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c index c33ee469dbe..9247e2976e7 100644 --- a/gcc/ipa-visibility.c +++ b/gcc/ipa-visibility.c @@ -595,7 +595,8 @@ function_and_variable_visibility (bool whole_program) } FOR_EACH_DEFINED_FUNCTION (node) { - node->local.local |= node->local_p (); + if (!node->local.local) + node->local.local |= node->local_p (); /* If we know that function can not be overwritten by a different semantics and moreover its section can not be discarded, replace all direct calls -- 2.11.4.GIT