diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-02-17 22:57:53 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-02-17 21:57:53 +0000 |
commit | 1ede94c55982638a877e0ecad794cbe7d1a54a20 (patch) | |
tree | e091500afee952a95172cae6c16c788f2e6b15d7 /gcc/cgraph.c | |
parent | f05911fb07ef21bd158da44d8618b7be84f11b21 (diff) | |
download | gcc-1ede94c55982638a877e0ecad794cbe7d1a54a20.zip gcc-1ede94c55982638a877e0ecad794cbe7d1a54a20.tar.gz gcc-1ede94c55982638a877e0ecad794cbe7d1a54a20.tar.bz2 |
ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local.
* 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 gueards.
From-SVN: r220775
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 3548bd0..1ad08dc 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -2191,6 +2191,16 @@ cgraph_node::call_for_symbol_thunks_and_aliases (bool (*callback) if (callback (this, data)) return true; + FOR_EACH_ALIAS (this, ref) + { + cgraph_node *alias = dyn_cast <cgraph_node *> (ref->referring); + if (include_overwritable + || alias->get_availability () > AVAIL_INTERPOSABLE) + if (alias->call_for_symbol_thunks_and_aliases (callback, data, + include_overwritable, + exclude_virtual_thunks)) + return true; + } for (e = callers; e; e = e->next_caller) if (e->caller->thunk.thunk_p && (include_overwritable @@ -2202,16 +2212,6 @@ cgraph_node::call_for_symbol_thunks_and_aliases (bool (*callback) exclude_virtual_thunks)) return true; - FOR_EACH_ALIAS (this, ref) - { - cgraph_node *alias = dyn_cast <cgraph_node *> (ref->referring); - if (include_overwritable - || alias->get_availability () > AVAIL_INTERPOSABLE) - if (alias->call_for_symbol_thunks_and_aliases (callback, data, - include_overwritable, - exclude_virtual_thunks)) - return true; - } return false; } |