OSDN Git Service

* final.c (output_addr_const): Do not call mark_decl_referenced.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 May 2010 17:46:21 +0000 (17:46 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 May 2010 17:46:21 +0000 (17:46 +0000)
* cgraphunit.c (process_function_and_variable_attributes): Use
mark_needed_node dirrectly.
(assemble_thunk): Do not call mark_decl_referenced.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159370 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cgraphunit.c
gcc/final.c

index 9449895..9a77193 100644 (file)
@@ -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.
index b97a33e..7618dd0 100644 (file)
@@ -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);
     }
index 5011b6c..e9c8748 100644 (file)
@@ -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