diff options
author | Jan Hubicka <jh@suse.cz> | 2005-11-15 12:27:33 +0000 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2005-11-15 12:27:33 +0000 |
commit | e5dca743b98416bda6682d838b23479c09dcdb31 (patch) | |
tree | 5444bc2a19f6cd64c6e05a03f3b4f3348997cbdc /gcc/doc | |
parent | af12b07a32cc8d7b100a061c9ed2bc081c64f012 (diff) |
* invoke.texi (large-unit-insns): Document.
* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
* params.def (large-unit-insns): New param.
* gcc.dg/winline-5.c: Add large-unit-insns limit.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@106948 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 2b71c96432c..1001c0e1aa6 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5822,6 +5822,17 @@ This parameter is ignored when @option{-funit-at-a-time} is not used. The default value is 100 which limits large function growth to 2.0 times the original size. +@item large-unit-insns +The limit specifying large translation unit. Growth caused by inlining of +units larger than this limit is limited by @option{--param inline-unit-growth}. +For small units this might be too tight (consider unit consisting of function A +that is inline and B that just calls A three time. If B is small relative to +A, the growth of unit is 300\% and yet such inlining is very sane. For very +large units consisting of small inlininable functions however the overall unit +growth limit is needed to avoid exponential explosion of code size. Thus for +smaller units, the size is increased to @option{--param large-unit-insns} +before aplying @option{--param inline-unit-growth}. The default is 10000 + @item inline-unit-growth Specifies maximal overall growth of the compilation unit caused by inlining. This parameter is ignored when @option{-funit-at-a-time} is not used. |