Commit 99ea07f8 by Richard Guenther Committed by Richard Biener

invoke.texi (fno-inline): Clarify documentation.

2012-02-01  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (fno-inline): Clarify documentation.
	(finline-small-functions): Likewise.
	(finline-functions): Likewise.
	* common.opt (finline): Adjust comment and documentation.
	(finline-small-functions): Clarify documentation.
	(finline-functions): Likewise.
	(finline-functions-called-once): Likewise.

From-SVN: r183792
parent 3db684fb
2012-02-01 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi (fno-inline): Clarify documentation.
(finline-small-functions): Likewise.
(finline-functions): Likewise.
* common.opt (finline): Adjust comment and documentation.
(finline-small-functions): Clarify documentation.
(finline-functions): Likewise.
(finline-functions-called-once): Likewise.
2012-02-01 Tristan Gingold <gingold@adacore.com> 2012-02-01 Tristan Gingold <gingold@adacore.com>
* c-typeck.c (composite_type): Keep mode for pointers. * c-typeck.c (composite_type): Keep mode for pointers.
......
...@@ -1245,26 +1245,23 @@ findirect-inlining ...@@ -1245,26 +1245,23 @@ findirect-inlining
Common Report Var(flag_indirect_inlining) Common Report Var(flag_indirect_inlining)
Perform indirect inlining Perform indirect inlining
; Nonzero means that functions declared `inline' will be treated ; General flag to enable inlining. Specifying -fno-inline will disable
; as `static'. Prevents generation of zillions of copies of unused ; all inlining apart from always-inline functions.
; static inline functions; instead, `inlines' are written out
; only when actually used. Used in conjunction with -g. Also
; does the right thing with #pragma interface.
finline finline
Common Report Var(flag_no_inline,0) Init(0) Common Report Var(flag_no_inline,0) Init(0)
Pay attention to the \"inline\" keyword Enable inlining of function declared \"inline\", disabling disables all inlining
finline-small-functions finline-small-functions
Common Report Var(flag_inline_small_functions) Optimization Common Report Var(flag_inline_small_functions) Optimization
Integrate simple functions into their callers when code size is known to not growth Integrate functions into their callers when code size is known not to grow
finline-functions finline-functions
Common Report Var(flag_inline_functions) Optimization Common Report Var(flag_inline_functions) Optimization
Integrate simple functions into their callers Integrate functions not declared \"inline\" into their callers when profitable
finline-functions-called-once finline-functions-called-once
Common Report Var(flag_inline_functions_called_once) Optimization Common Report Var(flag_inline_functions_called_once) Optimization
Integrate functions called once into their callers Integrate functions only required by their single caller
finline-limit- finline-limit-
Common RejectNegative Joined Alias(finline-limit=) Common RejectNegative Joined Alias(finline-limit=)
......
...@@ -6335,16 +6335,20 @@ Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. ...@@ -6335,16 +6335,20 @@ Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
@item -fno-inline @item -fno-inline
@opindex fno-inline @opindex fno-inline
Don't pay attention to the @code{inline} keyword. Normally this option Do not expand any functions inline apart from those marked with
is used to keep the compiler from expanding any functions inline. the @code{always_inline} attribute. This is the default when not
Note that if you are not optimizing, no functions can be expanded inline. optimizing.
Single functions can be exempted from inlining by marking them
with the @code{noinline} attribute.
@item -finline-small-functions @item -finline-small-functions
@opindex finline-small-functions @opindex finline-small-functions
Integrate functions into their callers when their body is smaller than expected Integrate functions into their callers when their body is smaller than expected
function call code (so overall size of program gets smaller). The compiler function call code (so overall size of program gets smaller). The compiler
heuristically decides which functions are simple enough to be worth integrating heuristically decides which functions are simple enough to be worth integrating
in this way. in this way. This inlining applies to all functions, even those not declared
inline.
Enabled at level @option{-O2}. Enabled at level @option{-O2}.
...@@ -6359,9 +6363,9 @@ Enabled at level @option{-O2}. ...@@ -6359,9 +6363,9 @@ Enabled at level @option{-O2}.
@item -finline-functions @item -finline-functions
@opindex finline-functions @opindex finline-functions
Integrate all simple functions into their callers. The compiler Consider all functions for inlining, even if they are not declared inline.
heuristically decides which functions are simple enough to be worth The compiler heuristically decides which functions are worth integrating
integrating in this way. in this way.
If all calls to a given function are integrated, and the function is If all calls to a given function are integrated, and the function is
declared @code{static}, then the function is normally not output as declared @code{static}, then the function is normally not output as
......
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