diff options
author | Richard Henderson <rth@redhat.com> | 2003-09-04 21:24:30 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-09-04 21:24:30 -0700 |
commit | 8dafba3ca49dbbd3ac78eb8d026576b9633d433c (patch) | |
tree | e52f1fb527a3257f89b40c552bfaabe7263e2310 /gcc/cgraph.c | |
parent | dd37c5a069e7520f2583ea70f58237de7b90e6e2 (diff) | |
download | gcc-8dafba3ca49dbbd3ac78eb8d026576b9633d433c.zip gcc-8dafba3ca49dbbd3ac78eb8d026576b9633d433c.tar.gz gcc-8dafba3ca49dbbd3ac78eb8d026576b9633d433c.tar.bz2 |
cgraph.c (cgraph_mark_reachable_node): Split out from ...
* cgraph.c (cgraph_mark_reachable_node): Split out from ...
(cgraph_mark_needed_node): Remove needed argument.
* cgraph.h: Update to match.
* cgraphunit.c (decide_is_function_needed): Split out from ...
(cgraph_finalize_function): Reorg. Avoid deferred_inline_function
if we generated the function.
(record_call_1): Update for cgraph_mark_reachable_node.
* varasm.c (mark_referenced): Likewise.
* objc/objc-act.c (mark_referenced_methods): Likewise.
* decl2.c (mark_member_pointers_and_eh_handlers): Update for
change in cgraph_mark_needed_node arguments.
From-SVN: r71104
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index bd83f6a..8b4c0cc 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -234,14 +234,11 @@ cgraph_remove_node (struct cgraph_node *node) /* Do not free the structure itself so the walk over chain can continue. */ } -/* Notify finalize_compilation_unit that given node is reachable - or needed. */ +/* Notify finalize_compilation_unit that given node is reachable. */ + void -cgraph_mark_needed_node (struct cgraph_node *node, int needed) +cgraph_mark_reachable_node (struct cgraph_node *node) { - if (needed) - node->needed = 1; - if (!node->reachable && DECL_SAVED_TREE (node->decl)) { node->reachable = 1; @@ -257,11 +254,20 @@ cgraph_mark_needed_node (struct cgraph_node *node, int needed) for (node2 = node->nested; node2; node2 = node2->next_nested) if (!node2->reachable) - cgraph_mark_needed_node (node2, 0); + cgraph_mark_reachable_node (node2); } } } +/* Likewise indicate that a node is needed, i.e. reachable via some + external means. */ + +void +cgraph_mark_needed_node (struct cgraph_node *node) +{ + node->needed = 1; + cgraph_mark_reachable_node (node); +} /* Record call from CALLER to CALLEE */ |