diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-02-14 19:42:49 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-02-14 18:42:49 +0000 |
commit | 31de760604065cf4dae5de8828321c86b15bf3c9 (patch) | |
tree | 400f48e176f588602e37c0b5ff58c528a2855b16 /gcc/varpool.c | |
parent | 065d214ce4129853330cb0c992b981830c950909 (diff) | |
download | gcc-31de760604065cf4dae5de8828321c86b15bf3c9.zip gcc-31de760604065cf4dae5de8828321c86b15bf3c9.tar.gz gcc-31de760604065cf4dae5de8828321c86b15bf3c9.tar.bz2 |
ipa-chkp.c: Use iterate_direct_aliases.
* ipa-chkp.c: Use iterate_direct_aliases.
* symtab.c (resolution_used_from_other_file_p): Move inline.
(symtab_node::create_reference): Fix formating.
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
(symtab_node::iterate_reference): Move inline.
(symtab_node::iterate_referring): Move inline.
(symtab_node::iterate_direct_aliases): Move inline.
(symtab_node::used_from_object_file_p_worker): Inline into ...
(symtab_node::used_from_object_file_p): ... this one; move inline.
(symtab_node::call_for_symbol_and_aliases): Move inline;
use iterate_direct_aliases.
(symtab_node::call_for_symbol_and_aliases_1): New method.
(cgraph_node::call_for_symbol_and_aliases): Move inline;
use iterate_direct_aliases.
(cgraph_node::call_for_symbol_and_aliases_1): New method.
(varpool_node::call_for_node_and_aliases): Rename to ...
(varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
use iterate_direct_aliases.
(varpool_node::call_for_symbol_and_aliases_1): New method.
* ipa.c (ipa_single_use): Use iterate_direct_aliases.
(ipa_discover_readonly_nonaddressable_var): Update.
* ipa-devirt.c: Fix formating.
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
Move inline.
(cgraph_node::call_for_symbol_and_aliases): Move inline.
(cgraph_node::call_for_symbol_and_aliases_1): New function..
* cgraph.h (used_from_object_file_p_worker): Remove.
(resolution_used_from_other_file_p): Move inline.
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
(symtab_node::iterate_reference): Move inline.
(symtab_node::iterate_referring): Move inline.
(symtab_node::iterate_direct_aliases): Move inline.
(symtab_node::used_from_object_file_p_worker): Inline into ...
(symtab_node::used_from_object_file_p): Move inline.
* tree-emutls.c (ipa_lower_emutls): Update.
* varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
(varpool_node::call_for_node_and_aliases): Remove.
From-SVN: r220709
Diffstat (limited to 'gcc/varpool.c')
-rw-r--r-- | gcc/varpool.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/gcc/varpool.c b/gcc/varpool.c index 49a9213..3135985 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -817,28 +817,23 @@ varpool_node::create_extra_name_alias (tree alias, tree decl) return alias_node; } -/* Call calback on varpool symbol and aliases associated to varpool symbol. - When INCLUDE_OVERWRITABLE is false, overwritable aliases and thunks are - skipped. */ +/* Worker for call_for_symbol_and_aliases. */ bool -varpool_node::call_for_node_and_aliases (bool (*callback) (varpool_node *, - void *), - void *data, - bool include_overwritable) +varpool_node::call_for_symbol_and_aliases_1 (bool (*callback) (varpool_node *, + void *), + void *data, + bool include_overwritable) { ipa_ref *ref; - if (callback (this, data)) - return true; - FOR_EACH_ALIAS (this, ref) { varpool_node *alias = dyn_cast <varpool_node *> (ref->referring); if (include_overwritable || alias->get_availability () > AVAIL_INTERPOSABLE) - if (alias->call_for_node_and_aliases (callback, data, - include_overwritable)) + if (alias->call_for_symbol_and_aliases (callback, data, + include_overwritable)) return true; } return false; |