diff options
author | Jan Hubicka <jh@suse.cz> | 2010-05-13 19:46:21 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-05-13 17:46:21 +0000 |
commit | 152464d21eb0ba50f648cafe135724e1d22b5788 (patch) | |
tree | 3884c0ff2e94f7f3453e5f2b7585aa6c80cebf1f /gcc | |
parent | 32cbdf00fad394376d884694abf04eddff9a7063 (diff) | |
download | gcc-152464d21eb0ba50f648cafe135724e1d22b5788.zip gcc-152464d21eb0ba50f648cafe135724e1d22b5788.tar.gz gcc-152464d21eb0ba50f648cafe135724e1d22b5788.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 8 | ||||
-rw-r--r-- | gcc/final.c | 5 |
3 files changed, 9 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9449895..9a77193 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-05-13 Jan Hubicka <jh@suse.cz> + + * 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 <aesok@post.ru> * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index b97a33e..7618dd0 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 5011b6c..e9c8748 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 |