diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-13 06:13:46 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-13 06:13:46 +0000 |
commit | cdedc7400d8cfdcd7517180421ae4cc3b636d806 (patch) | |
tree | eb2005967068c3a8ec31dce8fb4dc415f37fe993 /gcc/cgraph.c | |
parent | b48186034999492fb05990f815702e81d214a61d (diff) | |
download | gcc-cdedc7400d8cfdcd7517180421ae4cc3b636d806.tar.gz |
* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
(cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
* cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
(assemble
* ipa.c (cgraph_remove_unreachable_nodes): Use
cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags.
* tree-inline.c (copy_bb): Check address_taken flag.
* tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
externally_visible flag.
* tree-ssa/unreachable.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159354 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index b16a10d3f62..82ce0e804a6 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1686,8 +1686,8 @@ cgraph_mark_needed_node (struct cgraph_node *node) void cgraph_mark_address_taken_node (struct cgraph_node *node) { + cgraph_mark_reachable_node (node); node->address_taken = 1; - cgraph_mark_needed_node (node); } /* Return local info for the compiled function. */ |