aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-09-04 18:07:50 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-09-04 16:07:50 +0000
commit4d4b8cb9c0f82c22252018b1b25cd8b3c63166b3 (patch)
tree75c149d77b7daa8ab6ece4c2f7b9b97094602534 /gcc/doc
parent4c5bae34c163fa87e5c137e71d4be728d4b21291 (diff)
downloadgcc-4d4b8cb9c0f82c22252018b1b25cd8b3c63166b3.zip
gcc-4d4b8cb9c0f82c22252018b1b25cd8b3c63166b3.tar.gz
gcc-4d4b8cb9c0f82c22252018b1b25cd8b3c63166b3.tar.bz2
re PR middle-end/29478 (optimization generates warning for casts)
* gcc.dg/tree-ssa/loadpre8.c: Disable inlining. * gcc.dg/tree-ssa/pr27236.c: Likewise. * gcc.dg/tree-ssa/predcom-1.c: Likewise. * gcc.dg/tree-ssa/predcom-2.c: Likewise. * gcc.dg/tree-ssa/flatten-2.c: Avoid overactive tail call ellim. * gcc.dg/tree-ssa/loadpre5.c: Likewise. * gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c: Likewise. * invoke.texi (-finline-small-functions): Document. * ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE when deciding what is inlinable. (cgraph_decide_recursive_inlining): Handle flag_inline_functions. (cgraph_decide_inlining_of_small_function): Handle new flags. (cgraph_decide_inlining_incrementally): Likewise. * opts.c (decode_options): Enable flag_inline_small_functions at -O2 * common.opt (finline-small-functions): New. * Makefile.in (build/gengtype.o-warn): Work around PR29478 From-SVN: r128092
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 774f2f3..9164078 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -328,7 +328,7 @@ Objective-C and Objective-C++ Dialects}.
-fgcse -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload @gol
-fcrossjumping -fif-conversion -fif-conversion2 @gol
-finline-functions -finline-functions-called-once @gol
--finline-limit=@var{n} -fkeep-inline-functions @gol
+-finline-small-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
-fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
-fmodulo-sched -fmodulo-sched-allow-regmoves -fno-branch-count-reg @gol
-fno-default-inline -fno-defer-pop -fmove-loop-invariants @gol
@@ -5033,6 +5033,7 @@ compilation time.
-ftree-fre @gol
-ftree-ch @gol
-funit-at-a-time @gol
+-finline-small-functions @gol
-fmerge-constants}
@option{-O} also turns on @option{-fomit-frame-pointer} on machines
@@ -5172,6 +5173,15 @@ 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}.
+
@item -finline-functions
@opindex finline-functions
Integrate all simple functions into their callers. The compiler