IPA REF alias refactoring
commite55637b71514b1f2106980ff1e8951d5d072f9c4
authorMartin Liska <mliska@suse.cz>
Tue, 1 Jul 2014 06:45:26 +0000 (1 08:45 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 1 Jul 2014 06:45:26 +0000 (1 06:45 +0000)
treeaffefec9f6097f6b283af2e7be5845ea0dd4ba45
parent705c7d57092b46dc4ea6bba7e60823f828250488
IPA REF alias refactoring

* cgraph.h (iterate_direct_aliases): New function.
(FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
* cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
FOR_EACH_ALIAS added.
(cgraph_for_node_and_aliases): Likewise.
* cgraphunit.c (assemble_thunks_and_aliases): Likewise.
* ipa-inline.c (reset_edge_caches): Likewise.
(update_caller_keys): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
*varpool.c (varpool_analyze_node): Likewise.
(varpool_for_node_and_aliases): Likewise.
* ipa-ref.h (first_alias): New function.
(last_alias): Likewise.
(has_aliases_p): Likewise.
* ipa-ref.c (ipa_ref::remove_reference): Removal function
is sensitive to IPA_REF_ALIASes.
* symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
are put at the beginning of the list.
(symtab_node::iterate_direct_aliases): New function.

* lto-partition.c (add_symbol_to_partition_1): Usage of
FOR_EACH_ALIAS added.

From-SVN: r212191
12 files changed:
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/ipa-inline.c
gcc/ipa-ref.c
gcc/ipa-ref.h
gcc/lto/ChangeLog
gcc/lto/lto-partition.c
gcc/symtab.c
gcc/trans-mem.c
gcc/varpool.c