From 9a8098970a84f2b1b7a1ef97dcd5fa7cd28d27fc Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 11 May 2010 17:52:36 +0200 Subject: lto-symtab.c (lto_symtab_free): New function. * lto-symtab.c (lto_symtab_free): New function. * lto-streamer.h (lto_symtab_free): Declare. * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume that if function is needed it is reachable. (lto_output_node): See if it the function is reachable or referenced. (output_cgraph): Update call of lto_output_node. * lto-streamer.h (reachable_from_other_partition_p): Declare. * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls vector. * lto.c (lto_1_to_1_map): Remove some no longer needed checks. (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL; use reachable_from_other_partition_p and referenced_from_other_partition_p test. From-SVN: r159280 --- gcc/lto-symtab.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gcc/lto-symtab.c') diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c index 732940e..f8349cf 100644 --- a/gcc/lto-symtab.c +++ b/gcc/lto-symtab.c @@ -65,6 +65,15 @@ static GTY ((if_marked ("lto_symtab_entry_marked_p"), param_is (struct lto_symtab_entry_def))) htab_t lto_symtab_identifiers; +/* Free symtab hashtable. */ + +void +lto_symtab_free (void) +{ + htab_delete (lto_symtab_identifiers); + lto_symtab_identifiers = NULL; +} + /* Return the hash value of an lto_symtab_entry_t object pointed to by P. */ static hashval_t -- cgit v1.1