cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
authorJan Hubicka <jh@suse.cz>
Thu, 1 Aug 2013 13:24:49 +0000 (15:24 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 1 Aug 2013 13:24:49 +0000 (13:24 +0000)
commitc0c123ef5222b0e12a5984640f0dd4db4ada569c
treef96fc1c036664588c53ba5479a910145514f98f5
parent0cd1dd571b98da5eaf06a8af62df111c4e6a3b60
cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.

* cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
(cgraph_release_function_body): Likewise.
(cgraph_can_remove_if_no_direct_calls_p): Likewise.
* cgraph.h (cgrpah_node): Rename abstract_and_needed
to used_as_abstract_origin.
* tree-inline-transfrom.c (can_remove_node_now_p_1): Do not remove
symbols used as abstract origins.
* cgraphunit.c (analyze_functions): Update.
* ipa.c (symtab_remove_unreachable_nodes): Recompute used_as_abstract_origin.
* tree-inline.c (tree_function_versioning): Update
used_as_abstract_origin; be ready for DECL_RESULT and DECL_ARGUMENTS to be
NULL.

* lto-symtab.c (lto_symtab_merge_symbols): Merge duplicated nodes for abstract functions.
* cgraph.h (symtab_real_symbol_p): Abstract declarations are not real symbols.

From-SVN: r201408
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/ipa-inline-transform.c
gcc/ipa.c
gcc/lto-cgraph.c
gcc/lto-symtab.c
gcc/tree-inline.c