aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@gcc.gnu.org>2019-10-02 16:01:47 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2019-10-02 16:01:47 +0000
commit562d1e9556777988ae46c5d1357af2636bc272ea (patch)
treeb07b5dedff4846b2076284b72777f8790ef92e0a /gcc/params.def
parent352d2690f1eb7268cc21de643759e2f666119e9f (diff)
downloadgcc-562d1e9556777988ae46c5d1357af2636bc272ea.zip
gcc-562d1e9556777988ae46c5d1357af2636bc272ea.tar.gz
gcc-562d1e9556777988ae46c5d1357af2636bc272ea.tar.bz2
cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT, [...]): New.
* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT, MAX_INLINE_INSNS_AUTO_O2_LIMIT): New. * ipa-inline.c (inline_insns_single, inline_insns_auto): New functions. (can_inline_edge_by_limits_p): Use it. (big_speedup_p): Use PARAM_INLINE_MIN_SPEEDUP_O2. (want_inline_small_function_p): Use O2 bounds. (edge_badness): LIkewise. * opts.c (default_options): Add OPT_finline_functions. * params.def (PARAM_INLINE_MIN_SPEEDUP_O2, PARAM_MAX_INLINE_INSNS_SINGLE_O2, PARAM_MAX_INLINE_INSNS_AUTO_O2): New parameters. * g++.dg/tree-ssa/pr53844.C: Add -fno-inline-functions --param max-inline-insns-single-O2=200. * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-inline-functions to additional_flags. * gcc.dg/ipa/inline-7.c: Add -fno-inline-functions. * gcc.dg/optimize-bswapsi-5.c: Add -fno-inline-functions. * gcc.dg/tree-ssa/ssa-thread-12.c: Add --param early-inlining-insns-O2=14 -fno-inline-functions; revert previous change. * gcc.dg/winline-3.c: Use --param max-inline-insns-single-O2=1 --param inline-min-speedup-O2=100 instead of --param max-inline-insns-single=1 --param inline-min-speedup=100 * invoke.texi (-finline-functions): Update documentation. (max-inline-insns-single-O2, max-inline-insns-auto-O2, inline-min-speedup-O2): Document. (early-inlining-insns-O2): Simplify docs. From-SVN: r276469
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def21
1 files changed, 18 insertions, 3 deletions
diff --git a/gcc/params.def b/gcc/params.def
index 0acf29b..80f73b8 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -51,8 +51,13 @@ DEFPARAM (PARAM_PREDICTABLE_BRANCH_OUTCOME,
DEFPARAM (PARAM_INLINE_MIN_SPEEDUP,
"inline-min-speedup",
+ "The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto with -O3 and -Ofast.",
+ 15, 0, 100)
+
+DEFPARAM (PARAM_INLINE_MIN_SPEEDUP_O2,
+ "inline-min-speedup-O2",
"The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.",
- 15, 0, 0)
+ 30, 0, 100)
/* The single function inlining limit. This is the maximum size
of a function counted in internal gcc instructions (not in
@@ -67,9 +72,14 @@ DEFPARAM (PARAM_INLINE_MIN_SPEEDUP,
gets decreased. */
DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
"max-inline-insns-single",
- "The maximum number of instructions in a single function eligible for inlining.",
+ "The maximum number of instructions in a single function eligible for inlining with -O3 and -Ofast.",
200, 0, 0)
+DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE_O2,
+ "max-inline-insns-single-O2",
+ "The maximum number of instructions in a single function eligible for inlining.",
+ 30, 0, 0)
+
/* The single function inlining limit for functions that are
inlined by virtue of -finline-functions (-O3).
This limit should be chosen to be below or equal to the limit
@@ -79,9 +89,14 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
The default value is 30. */
DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
"max-inline-insns-auto",
- "The maximum number of instructions when automatically inlining.",
+ "The maximum number of instructions when automatically inlining with -O3 and -Ofast.",
30, 0, 0)
+DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO_O2,
+ "max-inline-insns-auto-O2",
+ "The maximum number of instructions when automatically inlining.",
+ 15, 0, 0)
+
DEFPARAM (PARAM_MAX_INLINE_INSNS_SMALL,
"max-inline-insns-small",
"The maximum number of instructions when automatically inlining small functions.",