]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/lto-cgraph.c
cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
authorJan Hubicka <jh@suse.cz>
Tue, 20 Apr 2010 14:49:18 +0000 (16:49 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 20 Apr 2010 14:49:18 +0000 (14:49 +0000)
commita837268b2b7f2b2623392c376144c5f343f23011
tree177a4ee0cf4fce5cf2f9b7eda71d28eb9db862e4
parent48e5069861a635af72d47f8975d177ed36f7e6e5
cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.

* cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
(dump_cgraph_node): Dump new flags.
* cgraph.h (struct cgraph_node): Add flags reachable_from_other_partition
and in_other_partition.
(cgraph_can_remove_if_no_direct_calls_p): Functions used by other partition
can not be removed.
* cgraphunit.c (cgraph_mark_functions_to_output): Functions used by the other
partition must be output; silence sanity checking on leaking functions
bodies from other paritition.
* lto-cgraph.c (reachable_from_other_partition_p): New function.
(lto_output_node): Output new flags; do not sanity check that inline
clones are output; drop lto_forced_extern_inline_p code; do not mock
visibility flags at partition boundaries.
(add_node_to): New function.
(output_cgraph): Use it to sort functions so masters appear before
clones.
(input_overwrite_node): Input new flags.
* passes.c (ipa_write_summaries): Do not call
lto_new_extern_inline_states.
* lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
lto_delete_extern_inline_states, lto_force_functions_extern_inline,
lto_forced_extern_inline_p): Kill.
* lto-streamer.h (lto_new_extern_inline_states,
* lto_delete_extern_inline_states, lto_force_functions_extern_inline,
lto_forced_extern_inline_p): Kill.

* lto.c (lto_add_inline_clones): Do not track inlined_decls.
(lto_add_all_inlinees): Likewise.
(lto_wpa_write_files): Likewise.

From-SVN: r158563
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/lto-cgraph.c
gcc/lto-section-out.c
gcc/lto-streamer.h
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/passes.c