diff options
author | Jan Hubicka <jh@suse.cz> | 2010-05-13 08:13:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-05-13 06:13:46 +0000 |
commit | bd3cdcc0872c2ce75d82ecc5a426cb3ace641d0f (patch) | |
tree | eb2005967068c3a8ec31dce8fb4dc415f37fe993 /gcc/cgraphunit.c | |
parent | 73647d75199a9e5c8a0e2e049d1f70b86d43c8f4 (diff) | |
download | gcc-bd3cdcc0872c2ce75d82ecc5a426cb3ace641d0f.zip gcc-bd3cdcc0872c2ce75d82ecc5a426cb3ace641d0f.tar.gz gcc-bd3cdcc0872c2ce75d82ecc5a426cb3ace641d0f.tar.bz2 |
cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
* 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.
From-SVN: r159354
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index cacb90c..b97a33e 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -1201,6 +1201,7 @@ cgraph_mark_functions_to_output (void) if (node->analyzed && !node->global.inlined_to && (node->needed || node->reachable_from_other_partition + || node->address_taken || (e && node->reachable)) && !TREE_ASM_WRITTEN (decl) && !DECL_EXTERNAL (decl)) |