diff options
author | Jan Hubicka <jh@suse.cz> | 2011-06-10 02:31:19 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-06-10 00:31:19 +0000 |
commit | b125ad45dab0e830d5e1a6aacfddc29fd17e37dc (patch) | |
tree | 76467d044aa99677800c5aeb965fa174159b9549 | |
parent | 5d4c7c5f6b19469c5e67127b34cefdb106aef9e2 (diff) | |
download | gcc-b125ad45dab0e830d5e1a6aacfddc29fd17e37dc.zip gcc-b125ad45dab0e830d5e1a6aacfddc29fd17e37dc.tar.gz gcc-b125ad45dab0e830d5e1a6aacfddc29fd17e37dc.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <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, 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; } |