From b125ad45dab0e830d5e1a6aacfddc29fd17e37dc Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 10 Jun 2011 02:31:19 +0200 Subject: [PATCH] cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline; do not recompute reachable flag. * 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 | 7 +++++++ gcc/cgraphunit.c | 21 +++++---------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d064a898e29..d0429e15091 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-06-09 Jan Hubicka + + * 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 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ... diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 614b7858a3f..1e3aa0ddf19 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -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; } -- 2.30.2