diff options
author | Jan Hubicka <jh@suse.cz> | 2010-07-08 18:46:49 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-07-08 16:46:49 +0000 |
commit | 09411461d2e1d7dfcc3aed713bddc68e34ba223d (patch) | |
tree | bc5d1a43aa025755bcaa3455dd75d5fff8fd479a /gcc/ipa-inline.c | |
parent | 72109b25534c8471768fa2765bebe7c62420e059 (diff) | |
download | gcc-09411461d2e1d7dfcc3aed713bddc68e34ba223d.zip gcc-09411461d2e1d7dfcc3aed713bddc68e34ba223d.tar.gz gcc-09411461d2e1d7dfcc3aed713bddc68e34ba223d.tar.bz2 |
cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls): New function.
* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
New function.
* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
Declare.
* ipa-cp.c (ipcp_estimate_growth): Use it.
* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
Likewise.
From-SVN: r161966
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 201e04a..e65c696 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -389,7 +389,7 @@ cgraph_estimate_growth (struct cgraph_node *node) we decide to not inline for different reasons, but it is not big deal as in that case we will keep the body around, but we will also avoid some inlining. */ - if (cgraph_only_called_directly_p (node) + if (cgraph_will_be_removed_from_program_if_no_direct_calls (node) && !DECL_EXTERNAL (node->decl) && !self_recursive) growth -= node->global.size; @@ -1496,14 +1496,13 @@ cgraph_decide_inlining (void) if (node->callers && !node->callers->next_caller - && cgraph_only_called_directly_p (node) + && cgraph_will_be_removed_from_program_if_no_direct_calls (node) && node->local.inlinable && node->callers->inline_failed && node->callers->caller != node && node->callers->caller->global.inlined_to != node && !node->callers->call_stmt_cannot_inline_p - && !DECL_EXTERNAL (node->decl) - && !DECL_COMDAT (node->decl)) + && !DECL_EXTERNAL (node->decl)) { cgraph_inline_failed_t reason; old_size = overall_size; |