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 d064a89..d0429e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 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 ... (cgraph_only_called_directly_p): ... this one; bring offline. (resolution_used_from_other_file_p, cgraph_used_from_object_file_p, diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 614b785..1e3aa0d 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.7.4