cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline; do not recomput...
authorJan Hubicka <jh@suse.cz>
Fri, 10 Jun 2011 00:31:19 +0000 (02:31 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 10 Jun 2011 00:31:19 +0000 (00:31 +0000)
* 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.

From-SVN: r174877

gcc/ChangeLog
gcc/cgraphunit.c

index d064a898e29b86db13c28d3b25a1513648662207..d0429e150918d5785a0c152463bca7388b399b5c 100644 (file)
@@ -1,3 +1,10 @@
+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 ...
index 614b7858a3f9ab585ff5a71a7af9fb4118f691a6..1e3aa0ddf19f1b3f58509200ac59066ff0c4588a 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;
        }