diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-20 16:49:18 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-20 14:49:18 +0000 |
commit | a837268b2b7f2b2623392c376144c5f343f23011 (patch) | |
tree | 177a4ee0cf4fce5cf2f9b7eda71d28eb9db862e4 /gcc/lto-section-out.c | |
parent | 48e5069861a635af72d47f8975d177ed36f7e6e5 (diff) | |
download | gcc-a837268b2b7f2b2623392c376144c5f343f23011.tar.gz |
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
Diffstat (limited to 'gcc/lto-section-out.c')
-rw-r--r-- | gcc/lto-section-out.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/gcc/lto-section-out.c b/gcc/lto-section-out.c index 895394f3a1b..d603c069ed4 100644 --- a/gcc/lto-section-out.c +++ b/gcc/lto-section-out.c @@ -50,48 +50,6 @@ static VEC(lto_out_decl_state_ptr, heap) *decl_state_stack; generate the decl directory later. */ VEC(lto_out_decl_state_ptr, heap) *lto_function_decl_states; - -/* Bitmap indexed by DECL_UID to indicate if a function needs to be - forced extern inline. */ -static bitmap forced_extern_inline; - -/* Initialize states for determining which function decls to be ouput - as extern inline, regardless of the decls' own attributes. */ - -void -lto_new_extern_inline_states (void) -{ - forced_extern_inline = lto_bitmap_alloc (); -} - -/* Releasing resources use for states to determine which function decls - to be ouput as extern inline */ - -void -lto_delete_extern_inline_states (void) -{ - lto_bitmap_free (forced_extern_inline); - forced_extern_inline = NULL; -} - -/* Force all the functions in DECLS to be output as extern inline. - DECLS is a bitmap indexed by DECL_UID. */ - -void -lto_force_functions_extern_inline (bitmap decls) -{ - bitmap_ior_into (forced_extern_inline, decls); -} - -/* Return true if FN_DECL is a function which should be emitted as - extern inline. */ - -bool -lto_forced_extern_inline_p (tree fn_decl) -{ - return bitmap_bit_p (forced_extern_inline, DECL_UID (fn_decl)); -} - /* Returns a hash code for P. */ hashval_t |