summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-analysis.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-13 09:19:09 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-13 09:19:09 +0000
commit794fd2828d1d8123cdf93c2b20535a28c40f79e8 (patch)
tree7e356df77924fcdd550af73036e37d71e9ab5ddb /gcc/ipa-inline-analysis.c
parent11371434aec7740fe75286e50be7f5cea91ae5c1 (diff)
downloadgcc-794fd2828d1d8123cdf93c2b20535a28c40f79e8.tar.gz
* cgraph.c (cgraph_for_node_thunks_and_aliases,
cgraph_for_node_and_aliases): Fix thinko in recursive walking. (nonremovable_p): New function. (cgraph_can_remove_if_no_direct_calls_p): New function. (used_from_object_file_p): New functoin. (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for references from aliases. * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline. * ipa-inline.c (check_caller_edge): New function. (want_inline_function_called_once_p): Use it; accept aliases called once, too. * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174985 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r--gcc/ipa-inline-analysis.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index 473f554e4ae..43e0f8124d0 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -2229,8 +2229,7 @@ do_estimate_growth (struct cgraph_node *node)
&& !cgraph_will_be_removed_from_program_if_no_direct_calls (node))
d.growth -= info->size;
/* COMDAT functions are very often not shared across multiple units since they
- come from various template instantiations. Take this into account.
- FIXME: allow also COMDATs with COMDAT aliases. */
+ come from various template instantiations. Take this into account. */
else if (DECL_COMDAT (node->decl)
&& cgraph_can_remove_if_no_direct_calls_p (node))
d.growth -= (info->size