diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-04-17 20:35:54 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-04-17 18:35:54 +0000 |
commit | 5e750dc69f9e2580bed0d45bd0383622cc272b39 (patch) | |
tree | d9d58ac41ea36e27fed4e20250e6280a4154de93 /gcc/ipa-inline.c | |
parent | 32337f1014e18221050f034723d3b75f2b08c908 (diff) | |
download | gcc-5e750dc69f9e2580bed0d45bd0383622cc272b39.tar.gz |
ipa-inline.c (inline_small_functions): Account only non-cold functions.
* ipa-inline.c (inline_small_functions): Account only non-cold
functions.
* doc/invoke.texi (inline-unit-growth): Update documentation.
From-SVN: r209490
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 83a836a1211..e8f03be397b 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1585,7 +1585,10 @@ inline_small_functions (void) struct inline_summary *info = inline_summary (node); struct ipa_dfs_info *dfs = (struct ipa_dfs_info *) node->aux; - if (!DECL_EXTERNAL (node->decl)) + /* Do not account external functions, they will be optimized out + if not inlined. Also only count the non-cold portion of program. */ + if (!DECL_EXTERNAL (node->decl) + && node->frequency != NODE_FREQUENCY_UNLIKELY_EXECUTED) initial_size += info->size; info->growth = estimate_growth (node); if (dfs && dfs->next_cycle) |