OSDN Git Service

* cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Jun 2011 00:31:19 +0000 (00:31 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Jun 2011 00:31:19 +0000 (00:31 +0000)
do not recompute reachable flag.
(cgraph_finalize_function, cgraph_analyze_functions): Set
redefined_extern_inline here.

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

gcc/ChangeLog
gcc/cgraphunit.c

index d064a89..d0429e1 100644 (file)
@@ -1,5 +1,12 @@
 2011-06-09  Jan Hubicka  <jh@suse.cz>
 
+       * cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
+       do not recompute reachable flag.
+       (cgraph_finalize_function, cgraph_analyze_functions): Set
+       redefined_extern_inline here.
+
+2011-06-09  Jan Hubicka  <jh@suse.cz>
+
        * cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
        (cgraph_only_called_directly_p): ... this one; bring offline.
        (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
index 614b785..1e3aa0d 100644 (file)
@@ -306,24 +306,9 @@ cgraph_reset_node (struct cgraph_node *node)
   memset (&node->global, 0, sizeof (node->global));
   memset (&node->rtl, 0, sizeof (node->rtl));
   node->analyzed = false;
-  node->local.redefined_extern_inline = true;
   node->local.finalized = false;
 
   cgraph_node_remove_callees (node);
-
-  /* We may need to re-queue the node for assembling in case
-     we already proceeded it and ignored as not needed or got
-     a re-declaration in IMA mode.  */
-  if (node->reachable)
-    {
-      struct cgraph_node *n;
-
-      for (n = cgraph_nodes_queue; n; n = n->next_needed)
-       if (n == node)
-         break;
-      if (!n)
-       node->reachable = 0;
-    }
 }
 
 static void
@@ -351,7 +336,10 @@ cgraph_finalize_function (tree decl, bool nested)
   struct cgraph_node *node = cgraph_get_create_node (decl);
 
   if (node->local.finalized)
-    cgraph_reset_node (node);
+    {
+      cgraph_reset_node (node);
+      node->local.redefined_extern_inline = true;
+    }
 
   notice_global_symbol (decl);
   node->local.finalized = true;
@@ -994,6 +982,7 @@ cgraph_analyze_functions (void)
          && !node->thunk.thunk_p)
        {
          cgraph_reset_node (node);
+          node->local.redefined_extern_inline = true;
          continue;
        }