summaryrefslogtreecommitdiff
path: root/gcc/lto-section-out.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-04-20 16:49:18 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-04-20 14:49:18 +0000
commita837268b2b7f2b2623392c376144c5f343f23011 (patch)
tree177a4ee0cf4fce5cf2f9b7eda71d28eb9db862e4 /gcc/lto-section-out.c
parent48e5069861a635af72d47f8975d177ed36f7e6e5 (diff)
downloadgcc-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.c42
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