]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Convert inliner to function specific param infrastructure
authorJan Hubicka <hubicka@ucw.cz>
Sat, 23 Nov 2019 13:11:25 +0000 (14:11 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sat, 23 Nov 2019 13:11:25 +0000 (13:11 +0000)
This patch adds opt_for_fn for all cross module params used by inliner
so they can be modified at function granuality.  With inlining almost always
there are three functions to consider (callee and caller of the inlined edge
and the outer function caller is inlined to).

I always use the outer function params since that is how local parameters
behave.  I hope it is kind of what is also expected in most case: it is better
to inline agressively into -O3 compiled code rather than inline agressively -O3
functions into their callers.

New params infrastructure is nice.  One drawback is that is very hard to
search for individual param uses since they all occupy global namespace.
With C++ world we had chance to do something like params.param_flag_name
or params::param_flag_name instead...

Bootstrapped/regtested x86_64-linux, comitted.

* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT): Remove.
* doc/invoke.texi (max-inline-insns-single-O2,
inline-heuristics-hint-percent-O2, inline-min-speedup-O2,
early-inlining-insns-O2): Remove documentation.
* ipa-fnsummary.c (analyze_function_body,
compute_fn_summary): Use opt_for_fn when accessing parameters.
* ipa-inline.c (caller_growth_limits, can_inline_edge_p,
inline_insns_auto, can_inline_edge_by_limits_p,
want_early_inline_function_p, big_speedup_p,
want_inline_small_function_p, want_inline_self_recursive_call_p,
recursive_inlining, compute_max_insns, inline_small_functions):
Likewise.
* opts.c (default_options): Add -O3 defaults for
OPT__param_early_inlining_insns_,
OPT__param_inline_heuristics_hint_percent_,
OPT__param_inline_min_speedup_, OPT__param_max_inline_insns_single_.
* params.opt (-param=early-inlining-insns-O2=,
-param=inline-heuristics-hint-percent-O2=,
-param=inline-min-speedup-O2=, -param=max-inline-insns-single-O2=
-param=early-inlining-insns=, -param=inline-heuristics-hint-percent=,
-param=inline-min-speedup=, -param=inline-unit-growth=,
-param=large-function-growth=, -param=large-stack-frame=,
-param=large-stack-frame-growth=, -param=large-unit-insns=,
-param=max-inline-insns-recursive=,
-param=max-inline-insns-recursive-auto=,
-param=max-inline-insns-single=,
-param=max-inline-insns-size=, -param=max-inline-insns-small=,
-param=max-inline-recursive-depth=,
-param=max-inline-recursive-depth-auto=,
-param=min-inline-recursive-probability=,
-param=partial-inlining-entry-probability=,
-param=uninlined-function-insns=, -param=uninlined-function-time=,
-param=uninlined-thunk-insns=, -param=uninlined-thunk-time=): Add
Optimization.

* g++.dg/tree-ssa/pr53844.C: Drop -O2 from param name.
* g++.dg/tree-ssa/pr61034.C: Likewise.
* g++.dg/tree-ssa/pr8781.C: Likewise.
* g++.dg/warn/Wstringop-truncation-1.C: Likewise.
* gcc.dg/ipa/pr63416.c: Likewise.
* gcc.dg/tree-ssa/ssa-thread-12.c: Likewise.
* gcc.dg/vect/pr66142.c: Likewise.
* gcc.dg/winline-3.c: Likewise.
* gcc.target/powerpc/pr72804.c: Likewise.

From-SVN: r278644

16 files changed:
gcc/ChangeLog
gcc/cif-code.def
gcc/doc/invoke.texi
gcc/ipa-fnsummary.c
gcc/opts.c
gcc/params.opt
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr53844.C
gcc/testsuite/g++.dg/tree-ssa/pr61034.C
gcc/testsuite/g++.dg/tree-ssa/pr8781.C
gcc/testsuite/g++.dg/warn/Wstringop-truncation-1.C
gcc/testsuite/gcc.dg/ipa/pr63416.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c
gcc/testsuite/gcc.dg/vect/pr66142.c
gcc/testsuite/gcc.dg/winline-3.c
gcc/testsuite/gcc.target/powerpc/pr72804.c

index b7d223ca8d0409fc897959e2dd715fd9458420fa..f26529c12e48ef049dce5991a3405d079ea4d8a5 100644 (file)
@@ -1,3 +1,40 @@
+2019-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT): Remove.
+       * doc/invoke.texi (max-inline-insns-single-O2,
+       inline-heuristics-hint-percent-O2, inline-min-speedup-O2,
+       early-inlining-insns-O2): Remove documentation.
+       * ipa-fnsummary.c (analyze_function_body,
+       compute_fn_summary): Use opt_for_fn when accessing parameters.
+       * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
+       inline_insns_auto, can_inline_edge_by_limits_p,
+       want_early_inline_function_p, big_speedup_p,
+       want_inline_small_function_p, want_inline_self_recursive_call_p,
+       recursive_inlining, compute_max_insns, inline_small_functions):
+       Likewise.
+       * opts.c (default_options): Add -O3 defaults for
+       OPT__param_early_inlining_insns_,
+       OPT__param_inline_heuristics_hint_percent_,
+       OPT__param_inline_min_speedup_, OPT__param_max_inline_insns_single_.
+       * params.opt (-param=early-inlining-insns-O2=,
+       -param=inline-heuristics-hint-percent-O2=,
+       -param=inline-min-speedup-O2=, -param=max-inline-insns-single-O2=
+       -param=early-inlining-insns=, -param=inline-heuristics-hint-percent=,
+       -param=inline-min-speedup=, -param=inline-unit-growth=,
+       -param=large-function-growth=, -param=large-stack-frame=,
+       -param=large-stack-frame-growth=, -param=large-unit-insns=,
+       -param=max-inline-insns-recursive=,
+       -param=max-inline-insns-recursive-auto=,
+       -param=max-inline-insns-single=,
+       -param=max-inline-insns-size=, -param=max-inline-insns-small=,
+       -param=max-inline-recursive-depth=,
+       -param=max-inline-recursive-depth-auto=,
+       -param=min-inline-recursive-probability=,
+       -param=partial-inlining-entry-probability=,
+       -param=uninlined-function-insns=, -param=uninlined-function-time=,
+       -param=uninlined-thunk-insns=, -param=uninlined-thunk-time=): Add
+       Optimization.
+
 2019-11-23  Jakub Jelinek  <jakub@redhat.com>
 
        * ipa-fnsummary.c: Fix comment typos.
index b4403c962475a7bbcfc304027cfb007b95f0adc6..ac773c1134c0d0236defe43721e3e65ed947ec7c 100644 (file)
@@ -70,8 +70,6 @@ DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT, CIF_FINAL_NORMAL,
           N_("--param large-stack-frame-growth limit reached"))
 DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT, CIF_FINAL_NORMAL,
           N_("--param max-inline-insns-single limit reached"))
-DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_O2_LIMIT, CIF_FINAL_NORMAL,
-          N_("--param max-inline-insns-single-O2 limit reached"))
 DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT, CIF_FINAL_NORMAL,
           N_("--param max-inline-insns-auto limit reached"))
 DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT, CIF_FINAL_NORMAL,
index 34549e0d43c34860955ac96732b33c4d4681f3f8..403be47d893d5d630ca213e46feea4f1c04413e2 100644 (file)
@@ -11281,17 +11281,12 @@ when modulo scheduling a loop.  Larger values can exponentially increase
 compilation time.
 
 @item max-inline-insns-single
-@item max-inline-insns-single-O2
 Several parameters control the tree inliner used in GCC@.  This number sets the
 maximum number of instructions (counted in GCC's internal representation) in a
 single function that the tree inliner considers for inlining.  This only
 affects functions declared inline and methods implemented in a class
 declaration (C++). 
 
-For functions compiled with optimization levels
-@option{-O3} and @option{-Ofast} parameter @option{max-inline-insns-single} is
-applied. In other cases @option{max-inline-insns-single-O2} is applied.
-
 
 @item max-inline-insns-auto
 When you use @option{-finline-functions} (included in @option{-O3}),
@@ -11317,33 +11312,22 @@ Extra time accounted by inliner for function overhead such as time needed to
 execute function prologue and epilogue
 
 @item inline-heuristics-hint-percent
-@item inline-heuristics-hint-percent-O2
 The scale (in percents) applied to @option{inline-insns-single},
 @option{inline-insns-single-O2}, @option{inline-insns-auto}
 when inline heuristics hints that inlining is
 very profitable (will enable later optimizations).
 
-For functions compiled with optimization levels
-@option{-O3} and @option{-Ofast} parameter
-@option{inline-heuristics-hint-percent} is applied. In other cases
-@option{inline-heuristics-hint-percent-O2} is applied.
-
 @item uninlined-thunk-insns
 @item uninlined-thunk-time
 Same as @option{--param uninlined-function-insns} and
 @option{--param uninlined-function-time} but applied to function thunks
 
 @item inline-min-speedup
-@item inline-min-speedup-O2
 When estimated performance improvement of caller + callee runtime exceeds this
 threshold (in percent), the function can be inlined regardless of the limit on
 @option{--param max-inline-insns-single} and @option{--param
 max-inline-insns-auto}.
 
-For functions compiled with optimization levels
-@option{-O3} and @option{-Ofast} parameter @option{inline-min-speedup} is
-applied. In other cases @option{inline-min-speedup-O2} is applied.
-
 @item large-function-insns
 The limit specifying really large functions.  For functions larger than this
 limit after inlining, inlining is constrained by
@@ -11421,14 +11405,9 @@ via a given call expression.  This parameter limits inlining only to call
 expressions whose probability exceeds the given threshold (in percents).
 
 @item early-inlining-insns
-@item early-inlining-insns-O2
 Specify growth that the early inliner can make.  In effect it increases
 the amount of inlining for code having a large abstraction penalty.
 
-For functions compiled with optimization levels
-@option{-O3} and @option{-Ofast} parameter @option{early-inlining-insns} is
-applied. In other cases @option{early-inlining-insns-O2} is applied.
-
 @item max-early-inliner-iterations
 Limit of iterations of the early inliner.  This basically bounds
 the number of nested indirect calls the early inliner can resolve.
index e53d9e9013c43fdd903ca33886e1255935d43ca4..122a369abb494119a0ef4af02b9664f81f3f1c0e 100644 (file)
@@ -2397,9 +2397,9 @@ fp_expression_p (gimple *stmt)
 static void
 analyze_function_body (struct cgraph_node *node, bool early)
 {
-  sreal time = param_uninlined_function_time;
+  sreal time = opt_for_fn (node->decl, param_uninlined_function_time);
   /* Estimate static overhead for function prologue/epilogue and alignment. */
-  int size = param_uninlined_function_insns;
+  int size = opt_for_fn (node->decl, param_uninlined_function_insns);
   /* Benefits are scaled by probability of elimination that is in range
      <0,2>.  */
   basic_block bb;
@@ -2465,9 +2465,11 @@ analyze_function_body (struct cgraph_node *node, bool early)
   info->account_size_time (0, 0, bb_predicate, bb_predicate);
 
   bb_predicate = predicate::not_inlined ();
-  info->account_size_time (param_uninlined_function_insns
+  info->account_size_time (opt_for_fn (node->decl,
+                               param_uninlined_function_insns)
                           * ipa_fn_summary::size_scale,
-                          param_uninlined_function_time,
+                          opt_for_fn (node->decl,
+                               param_uninlined_function_time),
                           bb_predicate,
                           bb_predicate);
 
@@ -2865,8 +2867,10 @@ compute_fn_summary (struct cgraph_node *node, bool early)
       es->call_stmt_size = eni_size_weights.call_cost;
       es->call_stmt_time = eni_time_weights.call_cost;
       info->account_size_time (ipa_fn_summary::size_scale
-                              * param_uninlined_function_thunk_insns,
-                              param_uninlined_function_thunk_time, t, t);
+                              * opt_for_fn (node->decl,
+                                param_uninlined_function_thunk_insns),
+                              opt_for_fn (node->decl,
+                                param_uninlined_function_thunk_time), t, t);
       t = predicate::not_inlined ();
       info->account_size_time (2 * ipa_fn_summary::size_scale, 0, t, t);
       ipa_update_overall_fn_summary (node);
index addebf1536556be58fae3d7aac51f4aa60ac8902..3c53fbe1baa6202dbbc03ce4cec737c834232a69 100644 (file)
@@ -544,6 +544,10 @@ static const struct default_options default_options_table[] =
 
     /* -O3 parameters.  */
     { OPT_LEVELS_3_PLUS, OPT__param_max_inline_insns_auto_, NULL, 30 },
+    { OPT_LEVELS_3_PLUS, OPT__param_early_inlining_insns_, NULL, 14 },
+    { OPT_LEVELS_3_PLUS, OPT__param_inline_heuristics_hint_percent_, NULL, 600 },
+    { OPT_LEVELS_3_PLUS, OPT__param_inline_min_speedup_, NULL, 15 },
+    { OPT_LEVELS_3_PLUS, OPT__param_max_inline_insns_single_, NULL, 200 },
 
     /* -Ofast adds optimizations to -O3.  */
     { OPT_LEVELS_FAST, OPT_ffast_math, NULL, 1 },
index d60db5825cce715e881c74a8d63f1118e1456331..586b539ec5f24512a34caa1e2156aaf40c832a06 100644 (file)
@@ -99,12 +99,8 @@ Common Joined UInteger Var(param_dse_max_object_size) Init(256) Param
 Maximum size (in bytes) of objects tracked bytewise by dead store elimination.
 
 -param=early-inlining-insns=
-Common Joined UInteger Var(param_early_inlining_insns) Init(14) Param
-Maximal estimated growth of function body caused by early inlining of single call with -O3 and -Ofast.
-
--param=early-inlining-insns-O2=
-Common Joined UInteger Var(param_early_inlining_insns_o2) Init(6) Param
-Maximal estimated growth of function body caused by early inlining of single call with -O1 and -O2.
+Common Joined UInteger Var(param_early_inlining_insns) Init(6) Optimization Param
+Maximal estimated growth of function body caused by early inlining of single call.
 
 -param=fsm-maximum-phi-arguments=
 Common Joined UInteger Var(param_fsm_maximum_phi_arguments) Init(100) IntegerRange(1, 999999) Param
@@ -179,23 +175,15 @@ Common Joined UInteger Var(param_hsa_gen_debug_stores) IntegerRange(0, 1) Param
 Level of hsa debug stores verbosity.
 
 -param=inline-heuristics-hint-percent=
-Common Joined UInteger Var(param_inline_heuristics_hint_percent) Init(600) IntegerRange(100, 1000000) Param
-The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable with -O3 and -Ofast.
-
--param=inline-heuristics-hint-percent-O2=
-Common Joined UInteger Var(param_inline_heuristics_hint_percent_o2) Init(200) IntegerRange(100, 1000000) Param
+Common Joined UInteger Var(param_inline_heuristics_hint_percent) Init(200) Optimization IntegerRange(100, 1000000) Param
 The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable.
 
 -param=inline-min-speedup=
-Common Joined UInteger Var(param_inline_min_speedup) Init(15) IntegerRange(0, 100) Param
-The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto with -O3 and -Ofast.
-
--param=inline-min-speedup-O2=
-Common Joined UInteger Var(param_inline_min_speedup_o2) Init(30) IntegerRange(0, 100) Param
+Common Joined UInteger Var(param_inline_min_speedup) Init(30) Optimization IntegerRange(0, 100) Param
 The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.
 
 -param=inline-unit-growth=
-Common Joined UInteger Var(param_inline_unit_growth) Init(40) Param
+Common Joined UInteger Var(param_inline_unit_growth) Init(40) Optimization Param
 How much can given compilation unit grow because of the inlining (in percent).
 
 -param=integer-share-limit=
@@ -295,23 +283,23 @@ Common Joined UInteger Var(param_l2_cache_size) Init(512) Param
 The size of L2 cache.
 
 -param=large-function-growth=
-Common Joined UInteger Var(param_large_function_growth) Init(100) Param
+Common Joined UInteger Var(param_large_function_growth) Optimization Init(100) Param
 Maximal growth due to inlining of large function (in percent).
 
 -param=large-function-insns=
-Common Joined UInteger Var(param_large_function_insns) Init(2700) Param
+Common Joined UInteger Var(param_large_function_insns) Optimization Init(2700) Param
 The size of function body to be considered large.
 
 -param=large-stack-frame=
-Common Joined UInteger Var(param_large_stack_frame) Init(256) Param
+Common Joined UInteger Var(param_large_stack_frame) Init(256) Optimization Param
 The size of stack frame to be considered large.
 
 -param=large-stack-frame-growth=
-Common Joined UInteger Var(param_stack_frame_growth) Init(1000) Param
+Common Joined UInteger Var(param_stack_frame_growth) Optimization Init(1000) Param
 Maximal stack frame growth due to inlining (in percent).
 
 -param=large-unit-insns=
-Common Joined UInteger Var(param_large_unit_insns) Init(10000) Param
+Common Joined UInteger Var(param_large_unit_insns) Optimization  Init(10000) Param
 The size of translation unit to be considered large.
 
 -param=lim-expensive=
@@ -471,35 +459,31 @@ Common Joined UInteger Var(param_max_inline_insns_auto) Init(15) Optimization Pa
 The maximum number of instructions when automatically inlining.
 
 -param=max-inline-insns-recursive=
-Common Joined UInteger Var(param_max_inline_insns_recursive) Init(450) Param
+Common Joined UInteger Var(param_max_inline_insns_recursive) Optimization Init(450) Param
 The maximum number of instructions inline function can grow to via recursive inlining.
 
 -param=max-inline-insns-recursive-auto=
-Common Joined UInteger Var(param_max_inline_insns_recursive_auto) Init(450) Param
+Common Joined UInteger Var(param_max_inline_insns_recursive_auto) Optimization Init(450) Param
 The maximum number of instructions non-inline function can grow to via recursive inlining.
 
 -param=max-inline-insns-single=
-Common Joined UInteger Var(param_max_inline_insns_single) Init(200) Param
-The maximum number of instructions in a single function eligible for inlining with -O3 and -Ofast.
-
--param=max-inline-insns-single-O2=
-Common Joined UInteger Var(param_max_inline_insns_single_o2) Init(70) Param
+Common Joined UInteger Var(param_max_inline_insns_single) Optimization Init(70) Param
 The maximum number of instructions in a single function eligible for inlining.
 
 -param=max-inline-insns-size=
-Common Joined UInteger Var(param_max_inline_insns_size) Param
+Common Joined UInteger Var(param_max_inline_insns_size) Optimization Param
 The maximum number of instructions when inlining for size.
 
 -param=max-inline-insns-small=
-Common Joined UInteger Var(param_max_inline_insns_small) Param
+Common Joined UInteger Var(param_max_inline_insns_small) Optimization Param
 The maximum number of instructions when automatically inlining small functions.
 
 -param=max-inline-recursive-depth=
-Common Joined UInteger Var(param_max_inline_recursive_depth) Init(8) Param
+Common Joined UInteger Var(param_max_inline_recursive_depth) Optimization Init(8) Param
 The maximum depth of recursive inlining for inline functions.
 
 -param=max-inline-recursive-depth-auto=
-Common Joined UInteger Var(param_max_inline_recursive_depth_auto) Init(8) Param
+Common Joined UInteger Var(param_max_inline_recursive_depth_auto) Optimization Init(8) Param
 The maximum depth of recursive inlining for non-inline functions.
 
 -param=max-isl-operations=
@@ -679,7 +663,7 @@ Common Joined UInteger Var(param_min_crossjump_insns) Init(5) IntegerRange(1, 65
 The minimum number of matching instructions to consider for crossjumping.
 
 -param=min-inline-recursive-probability=
-Common Joined UInteger Var(param_min_inline_recursive_probability) Init(10) Param
+Common Joined UInteger Var(param_min_inline_recursive_probability) Init(10) Optimization Param
 Inline recursively only when the probability of call being executed exceeds the parameter.
 
 -param=min-insn-to-prefetch-ratio=
@@ -737,7 +721,7 @@ EnumValue
 Enum(parloops_schedule_type) String(runtime) Value(PARLOOPS_SCHEDULE_RUNTIME)
 
 -param=partial-inlining-entry-probability=
-Common Joined UInteger Var(param_partial_inlining_entry_probability) Init(70) IntegerRange(0, 100) Param
+Common Joined UInteger Var(param_partial_inlining_entry_probability) Init(70) Optimization IntegerRange(0, 100) Param
 Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen.
 
 -param=predictable-branch-outcome=
@@ -913,19 +897,19 @@ Common Joined UInteger Var(param_uninit_control_dep_attempts) Init(1000) Integer
 Maximum number of nested calls to search for control dependencies during uninitialized variable analysis.
 
 -param=uninlined-function-insns=
-Common Joined UInteger Var(param_uninlined_function_insns) Init(2) IntegerRange(0, 1000000) Param
+Common Joined UInteger Var(param_uninlined_function_insns) Init(2) Optimization IntegerRange(0, 1000000) Param
 Instruction accounted for function prologue, epilogue and other overhead.
 
 -param=uninlined-function-time=
-Common Joined UInteger Var(param_uninlined_function_time) IntegerRange(0, 1000000) Param
+Common Joined UInteger Var(param_uninlined_function_time) Optimization IntegerRange(0, 1000000) Param
 Time accounted for function prologue, epilogue and other overhead.
 
 -param=uninlined-thunk-insns=
-Common Joined UInteger Var(param_uninlined_function_thunk_insns) Init(2) IntegerRange(0, 1000000) Param
+Common Joined UInteger Var(param_uninlined_function_thunk_insns) Optimization Init(2) IntegerRange(0, 1000000) Param
 Instruction accounted for function thunk overhead.
 
 -param=uninlined-thunk-time=
-Common Joined UInteger Var(param_uninlined_function_thunk_time) Init(2) IntegerRange(0, 1000000) Param
+Common Joined UInteger Var(param_uninlined_function_thunk_time) Optimization Init(2) IntegerRange(0, 1000000) Param
 Time accounted for function thunk overhead.
 
 -param=unlikely-bb-count-fraction=
index db2b2ea10413ea321808eb0d9f5e8be869974416..7687fcc4abffcc91e60bf9605fa1c966116afe1a 100644 (file)
@@ -1,3 +1,15 @@
+2019-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * g++.dg/tree-ssa/pr53844.C: Drop -O2 from param name.
+       * g++.dg/tree-ssa/pr61034.C: Likewise.
+       * g++.dg/tree-ssa/pr8781.C: Likewise.
+       * g++.dg/warn/Wstringop-truncation-1.C: Likewise.
+       * gcc.dg/ipa/pr63416.c: Likewise.
+       * gcc.dg/tree-ssa/ssa-thread-12.c: Likewise.
+       * gcc.dg/vect/pr66142.c: Likewise.
+       * gcc.dg/winline-3.c: Likewise.
+       * gcc.target/powerpc/pr72804.c: Likewise.
+
 2019-11-23  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/92615
index ab9879f6a18ed1623b217a7ae59fca8a0c980ad0..74027e0a1fdb5b73c1547db2b53b34155774d1eb 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-// { dg-options "-O2 -fdump-tree-optimized-vops -fno-inline-functions --param max-inline-insns-single-O2=200" }
+// { dg-options "-O2 -fdump-tree-optimized-vops -fno-inline-functions --param max-inline-insns-single=200" }
 
 struct VBase;
 
index 6a76adb5b80f7b8b2f14e925925618e4913a9f6c..1e8168ab4f42661234f4e8604c8b905058cbe3bb 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-// { dg-options "-O2 -fdump-tree-fre3 -fdump-tree-optimized -fdelete-null-pointer-checks --param early-inlining-insns-O2=14 --param max-inline-insns-single-O2=200" }
+// { dg-options "-O2 -fdump-tree-fre3 -fdump-tree-optimized -fdelete-null-pointer-checks --param early-inlining-insns=14 --param max-inline-insns-single=200" }
 
 #define assume(x) if(!(x))__builtin_unreachable()
 
index 5bc1ef0352052a41b962f36765983af0686bd2ef..b9f636b6083c7d6709a579d32626d237b416fb37 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1 --param early-inlining-insns-O2=14" } */
+/* { dg-options "-O -fno-tree-sra -fdump-tree-fre1 --param early-inlining-insns=14" } */
 
 int f();
 
index 49dde0a65ba669fccefe295f19952d6b8cf5373d..8f5e7da2c2ed777efcb38e6d3035a1e3214663f7 100644 (file)
@@ -1,7 +1,7 @@
 /* PR/tree-optimization/84480 - bogus -Wstringop-truncation despite
    assignment with an inlined string literal
    { dg-do compile }
-   { dg-options "-O2 -Wstringop-truncation --param early-inlining-insns-O2=14" }  */
+   { dg-options "-O2 -Wstringop-truncation --param early-inlining-insns=14" }  */
 
 #include <string.h>
 
index 5873954fba302173fa72728af503379dfe1abdef..c7bc97e0bb1ba211d2e908022ee73191556202d1 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-optimized --param early-inlining-insns-O2=14"  } */
+/* { dg-options "-O2 -fdump-tree-optimized --param early-inlining-insns=14"  } */
 #define _UNUSED_ __attribute__((__unused__))
 
 typedef int TEST_F30 (int *v);
index fff731e8cfc96ee1bc8373019c063c42c57f0f2a..fb9840e95d5861e0943c88cab59f7a0c3121a442 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-thread2-details -fdump-tree-thread3-details -fdump-tree-thread4-details -fno-finite-loops --param early-inlining-insns-O2=14 -fno-inline-functions" } */
+/* { dg-options "-O2 -fdump-tree-thread2-details -fdump-tree-thread3-details -fdump-tree-thread4-details -fno-finite-loops --param early-inlining-insns=14 -fno-inline-functions" } */
 /* { dg-final { scan-tree-dump "FSM" "thread2" } } */
 /* { dg-final { scan-tree-dump "FSM" "thread3" } } */
 /* { dg-final { scan-tree-dump "FSM" "thread4" { xfail *-*-* } } } */
index a0316f1f01ec002dd92e1d614ab8ee9ff2fc01d4..7abd00ca85a709653774f1e41d33b9286c409ddb 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/66142 */
 /* { dg-do compile } */
-/* { dg-additional-options "-ffast-math -fopenmp-simd --param early-inlining-insns-O2=14" } */
+/* { dg-additional-options "-ffast-math -fopenmp-simd --param early-inlining-insns=14" } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
 
 struct A { float x, y; };
index 7043a276025f50e9f40ac40e222614f49084eb9c..7b7c8c5b9eb8b2f58284cdcc8726e88d2b60f198 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-Winline -O2 --param max-inline-insns-single-O2=1 --param inline-min-speedup-O2=100 -fgnu89-inline" } */
+/* { dg-options "-Winline -O2 --param max-inline-insns-single=1 --param inline-min-speedup=100 -fgnu89-inline" } */
 
 void big (void);
 inline int q(void) /* { dg-warning "max-inline-insns-single" } */
index 10e37caed6b3a5a10bcdc4c9f043d6ff7ad146f9..56a2452885e541b143240355298590c3841a4240 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target { lp64 } } } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
 /* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-O2 -mvsx -fno-inline-functions --param max-inline-insns-single-O2=200" } */
+/* { dg-options "-O2 -mvsx -fno-inline-functions --param max-inline-insns-single=200" } */
 
 __int128_t
 foo (__int128_t *src)