Commit 5e750dc6 by Jan Hubicka Committed by Jan Hubicka

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
parent 32337f10
2014-04-17 Jan Hubicka <hubicka@ucw.cz>
* ipa-inline.c (inline_small_functions): Account only non-cold
functions.
* doc/invoke.texi (inline-unit-growth): Update documentation.
2014-04-17 Pat Haugen <pthaugen@us.ibm.com> 2014-04-17 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.md (addti3, subti3): New. * config/rs6000/rs6000.md (addti3, subti3): New.
......
...@@ -9409,7 +9409,8 @@ before applying @option{--param inline-unit-growth}. The default is 10000. ...@@ -9409,7 +9409,8 @@ before applying @option{--param inline-unit-growth}. The default is 10000.
@item inline-unit-growth @item inline-unit-growth
Specifies maximal overall growth of the compilation unit caused by inlining. Specifies maximal overall growth of the compilation unit caused by inlining.
The default value is 30 which limits unit growth to 1.3 times the original The default value is 30 which limits unit growth to 1.3 times the original
size. size. Cold functions (either marked cold via an attribibute or by profile
feedback) are not accounted into the unit size.
@item ipcp-unit-growth @item ipcp-unit-growth
Specifies maximal overall growth of the compilation unit caused by Specifies maximal overall growth of the compilation unit caused by
......
...@@ -1585,7 +1585,10 @@ inline_small_functions (void) ...@@ -1585,7 +1585,10 @@ inline_small_functions (void)
struct inline_summary *info = inline_summary (node); struct inline_summary *info = inline_summary (node);
struct ipa_dfs_info *dfs = (struct ipa_dfs_info *) node->aux; 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; initial_size += info->size;
info->growth = estimate_growth (node); info->growth = estimate_growth (node);
if (dfs && dfs->next_cycle) if (dfs && dfs->next_cycle)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment