From: Jan Hubicka Date: Thu, 13 May 2010 17:46:21 +0000 (+0200) Subject: final.c (output_addr_const): Do not call mark_decl_referenced. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=152464d21eb0ba50f648cafe135724e1d22b5788;p=gcc.git final.c (output_addr_const): Do not call mark_decl_referenced. * final.c (output_addr_const): Do not call mark_decl_referenced. * cgraphunit.c (process_function_and_variable_attributes): Use mark_needed_node dirrectly. (assemble_thunk): Do not call mark_decl_referenced. From-SVN: r159370 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 944989514bc..9a77193f6be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-05-13 Jan Hubicka + + * final.c (output_addr_const): Do not call mark_decl_referenced. + * cgraphunit.c (process_function_and_variable_attributes): Use + mark_needed_node dirrectly. + (assemble_thunk): Do not call mark_decl_referenced. + 2010-05-13 Anatoly Sokolov * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index b97a33e274d..7618dd00743 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -959,11 +959,7 @@ process_function_and_variable_attributes (struct cgraph_node *first, { tree decl = node->decl; if (DECL_PRESERVE_P (decl)) - { - mark_decl_referenced (decl); - if (node->local.finalized) - cgraph_mark_needed_node (node); - } + cgraph_mark_needed_node (node); if (lookup_attribute ("externally_visible", DECL_ATTRIBUTES (decl))) { if (! TREE_PUBLIC (node->decl)) @@ -979,7 +975,6 @@ process_function_and_variable_attributes (struct cgraph_node *first, tree decl = vnode->decl; if (DECL_PRESERVE_P (decl)) { - mark_decl_referenced (decl); vnode->force_output = true; if (vnode->finalized) varpool_mark_needed_node (vnode); @@ -1602,7 +1597,6 @@ assemble_thunk (struct cgraph_node *node) cgraph_remove_same_body_alias (node); /* Since we want to emit the thunk, we explicitly mark its name as referenced. */ - mark_decl_referenced (thunk_fndecl); cgraph_add_new_function (thunk_fndecl, true); bitmap_obstack_release (NULL); } diff --git a/gcc/final.c b/gcc/final.c index 5011b6c5cac..e9c8748c448 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3529,10 +3529,7 @@ output_addr_const (FILE *file, rtx x) case SYMBOL_REF: if (SYMBOL_REF_DECL (x)) - { - mark_decl_referenced (SYMBOL_REF_DECL (x)); - assemble_external (SYMBOL_REF_DECL (x)); - } + assemble_external (SYMBOL_REF_DECL (x)); #ifdef ASM_OUTPUT_SYMBOL_REF ASM_OUTPUT_SYMBOL_REF (file, x); #else