Thus, the following tries to clarify the documentation of -fno-inline and -finline-functions.
Does that help? Thanks, Richard. 2012-01-31 Richard Guenther <rguent...@suse.de> * doc/invoke.texi (fno-inline): Clarify documentation. (finline-small-functions): Likewise. (finline-functions): Likewise. Index: gcc/doc/invoke.texi =================================================================== *** gcc/doc/invoke.texi (revision 183751) --- gcc/doc/invoke.texi (working copy) *************** Enabled at levels @option{-O2}, @option{ *** 6335,6350 **** @item -fno-inline @opindex fno-inline ! Don't pay attention to the @code{inline} keyword. Normally this option ! is used to keep the compiler from expanding any functions inline. ! Note that if you are not optimizing, no functions can be expanded inline. @item -finline-small-functions @opindex finline-small-functions Integrate functions into their callers when their body is smaller than expected function call code (so overall size of program gets smaller). The compiler heuristically decides which functions are simple enough to be worth integrating ! in this way. Enabled at level @option{-O2}. --- 6335,6354 ---- @item -fno-inline @opindex fno-inline ! Do not expand any functions inline apart from those marked with ! the @code{always_inline} attribute. This is the default when not ! optimizing. ! ! Single functions can be exempted from inlining by marking them ! with the @code{noinline} attribute. @item -finline-small-functions @opindex finline-small-functions Integrate functions into their callers when their body is smaller than expected function call code (so overall size of program gets smaller). The compiler heuristically decides which functions are simple enough to be worth integrating ! 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,6367 **** @item -finline-functions @opindex finline-functions ! Integrate all simple functions into their callers. The compiler ! heuristically decides which functions are simple enough to be worth ! integrating in this way. If all calls to a given function are integrated, and the function is declared @code{static}, then the function is normally not output as --- 6363,6371 ---- @item -finline-functions @opindex finline-functions ! Consider all functions for inlining, even if they are not declared inline. ! The compiler heuristically decides which functions are worth integrating ! in this way. If all calls to a given function are integrated, and the function is declared @code{static}, then the function is normally not output as