aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-13 19:46:21 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-13 17:46:21 +0000
commit152464d21eb0ba50f648cafe135724e1d22b5788 (patch)
tree3884c0ff2e94f7f3453e5f2b7585aa6c80cebf1f /gcc
parent32cbdf00fad394376d884694abf04eddff9a7063 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/cgraphunit.c8
-rw-r--r--gcc/final.c5
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