aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-06-05 16:15:31 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-06-05 14:15:31 +0000
commitedb983b2cb3961d9a5fa45444ff0fbf16e3adc0a (patch)
treea3982caf99872c7045fe2746bb44f9b7a2a178ac /gcc/varasm.c
parent9912dbe5c7d8c715d6506380ef62a3377297f4b4 (diff)
downloadgcc-edb983b2cb3961d9a5fa45444ff0fbf16e3adc0a.zip
gcc-edb983b2cb3961d9a5fa45444ff0fbf16e3adc0a.tar.gz
gcc-edb983b2cb3961d9a5fa45444ff0fbf16e3adc0a.tar.bz2
class.c (emit_register_classes_in_jcr_section): Use DECL_PRESERVE_P instead of mark_decl_referenced.
* class.c (emit_register_classes_in_jcr_section): Use DECL_PRESERVE_P instead of mark_decl_referenced. * decl2.c (maybe_make_one_only): Use forced_by_abi instad of mark_decl_referenced. (mark_needed): Likewise. * cgraph.c (cgraph_remove_node): Clear forced_by_abi. (cgraph_node_cannot_be_local_p_1): Honnor symbol.forced_by_abi and symtab_used_from_object_file_p. (cgraph_make_node_local_1): Clear forced_by_abi. (cgraph_can_remove_if_no_direct_calls_and): Use forced_by_abi * cgraph.h (symtab_node_base): Add forced_by_abi. (decide_is_variable_needed): Remove. (varpool_can_remove_if_no_refs): Honnor symbol.forced_by_abi. * cgraphunit.c (cgraph_decide_is_function_needed): Rename to .. (decide_is_symbol_needed): ... this one; handle symbols in general; always analyze virtuals; honnor forced_by_abi. (cgraph_finalize_function): Update. (varpool_finalize_decl): Update. (symbol_defined_and_needed): Remove. (analyze_functions): Update. * lto-cgraph.c (lto_output_node, lto_output_varpool_node, output_refs, input_overwrite_node): Handle forced_by_abi. * ipa.c (cgraph_address_taken_from_non_vtable_p): Rename to ... (address_taken_from_non_vtable_p): ... this one. (comdat_can_be_unshared_p_1): New function. (cgraph_comdat_can_be_unshared_p): Rename to ... (comdat_can_be_unshared_p): ... this one; handle symbols in general. (varpool_externally_visible_p): Use comdat_can_be_unshared_p. (function_and_variable_visibility): Clear forced_by_abi as needed. * trans-mem.c (ipa_tm_mark_forced_by_abi_node): New functoin. (ipa_tm_create_version_alias, ipa_tm_create_version): Update. * varasm.c (mark_decl_referenced): Remove. * symtab.c (dump_symtab_base): Dump forced_by_abi. * varpool.c (decide_is_variable_needed): Remove. From-SVN: r199695
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index c088ebf..4c4178f 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2244,33 +2244,6 @@ mark_referenced (tree id)
TREE_SYMBOL_REFERENCED (id) = 1;
}
-/* Set the symbol_referenced flag for DECL and notify callgraph. */
-void
-mark_decl_referenced (tree decl)
-{
- if (TREE_CODE (decl) == FUNCTION_DECL)
- {
- /* Extern inline functions don't become needed when referenced.
- If we know a method will be emitted in other TU and no new
- functions can be marked reachable, just use the external
- definition. */
- struct cgraph_node *node = cgraph_get_create_node (decl);
- if (!DECL_EXTERNAL (decl)
- && !node->symbol.definition)
- cgraph_mark_force_output_node (node);
- }
- else if (TREE_CODE (decl) == VAR_DECL)
- {
- struct varpool_node *node = varpool_node_for_decl (decl);
- /* C++ frontend use mark_decl_references to force COMDAT variables
- to be output that might appear dead otherwise. */
- node->symbol.force_output = true;
- }
- /* else do nothing - we can get various sorts of CST nodes here,
- which do not need to be marked. */
-}
-
-
/* Follow the IDENTIFIER_TRANSPARENT_ALIAS chain starting at *ALIAS
until we find an identifier that is not itself a transparent alias.
Modify the alias passed to it by reference (and all aliases on the