From patchwork Wed Nov 13 08:15:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Li=C5=A1ka?= X-Patchwork-Id: 1194122 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-513199-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="ge+GW6wZ"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47Ccr25nFLz9sNH for ; Wed, 13 Nov 2019 19:15:44 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :subject:to:cc:message-id:date:mime-version:content-type; q=dns; s=default; b=kJzucvJt24bRiBCMwXLzsp4iz+1ZArMhLA/iXWxJNkMP91XDWy 8ut16+NN24UTayrBeI57z7vTZ+Zy1ku4Lg4ew/gHuzMTVXEepc3QDhhP5McYVTj+ 1KDUzRwtsNHNCK2SQLSB7C1S6xjZLzc/6e2iXu8IP14Q9zChUILcHq/G0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :subject:to:cc:message-id:date:mime-version:content-type; s= default; bh=k7EcPdVJbjlLPRgWUdpXbbbEc9o=; b=ge+GW6wZZ+aiUbndOxHY M46tOqIc/kAdnhCslnn1bBE3URBvqLZPiUyrWxnI3/F/W+ZaWaeg213hW/wsVZIq VZrMTHoyt7KS9O+08MlBKQz/qADbbecF3aoePwRhFAo/xa2IhRE79Iuwvnenjc9i A3cm8sqFo711fzBcAWSLBRY= Received: (qmail 39736 invoked by alias); 13 Nov 2019 08:15:36 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 39690 invoked by uid 89); 13 Nov 2019 08:15:34 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy=Para X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 13 Nov 2019 08:15:28 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 05938B599; Wed, 13 Nov 2019 08:15:25 +0000 (UTC) From: =?utf-8?q?Martin_Li=C5=A1ka?= Subject: [PATCH] Remove params for a specific optimization option. To: gcc-patches@gcc.gnu.org Cc: Richard Biener , Jan Hubicka Message-ID: <83a843f2-1bf9-e467-0795-33a492fd3683@suse.cz> Date: Wed, 13 Nov 2019 09:15:25 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 X-IsSubscribed: yes Hello. The patch is about removal of special *-O2 parameters that Honza added some time ago. Right now, we have a better mechanism how to have a different default value for a parameter. I'm planning to send a patch that will decorate some params with Optimization attribute and so that one can sensitively use them per-function. The patch is not a NOP, mainly because of param_max_inline_insns_auto params. As one can see: gcc/ipa-cp.c: if (size <= param_max_inline_insns_auto / 4) gcc/ipa-cp.c: else if (size <= param_max_inline_insns_auto / 2) gcc/ipa-cp.c: else if (size <= param_max_inline_insns_auto gcc/ipa-inline.c:inline_insns_auto (cgraph_node *n, bool hint) gcc/ipa-inline.c: return param_max_inline_insns_auto gcc/ipa-inline.c: return param_max_inline_insns_auto; gcc/ipa-inline.c: return param_max_inline_insns_auto_o2 gcc/ipa-inline.c: return param_max_inline_insns_auto_o2; gcc/ipa-inline.c: inline_insns_auto (caller, false)))) gcc/ipa-inline.c: > inline_insns_auto (e->caller, true)) gcc/ipa-inline.c: /* Apply param_max_inline_insns_auto limit for functions not declared gcc/ipa-inline.c: && growth >= inline_insns_auto (e->caller, apply_hints) gcc/ipa-inline.c: || growth >= inline_insns_auto (e->caller, true) gcc/ipa-inline.c: : inline_insns_auto (caller, false))) gcc/ipa-split.c: : param_max_inline_insns_auto) + 10) gcc/ipa-split.c: && current->split_size >= (unsigned int) param_max_inline_insns_auto + 10) gcc/opts.c: SET_OPTION_IF_UNSET (opts, opts_set, param_max_inline_insns_auto, gcc/params.opt:Common Joined UInteger Var(param_max_inline_insns_auto) Init(30) Param gcc/params.opt:Common Joined UInteger Var(param_max_inline_insns_auto_o2) Init(15) Param The param_max_inline_insns_auto_o2 version is used with an optimization level smaller then -O3 in ipa-inline.c (but not in ipa-cp.c and ipa-split.c). That's very inconsistent hack. That's why I needed to adjust an asan test, where the expected backtrace has changed. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-11-12 Martin Liska * cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT): Remove. (MAX_INLINE_INSNS_AUTO_O2_LIMIT): Remove. * ipa-inline.c (inline_insns_single): Remove n argument and do not use *_o2 parameters. (inline_insns_auto): Likewise. (can_inline_edge_by_limits_p): Do not use *_o2 parameters. (want_early_inline_function_p): Likewise. (big_speedup_p): Likewise. (want_inline_small_function_p): Likewise. (edge_badness): Likewise. * opts.c (maybe_default_option): Do not drop default value for parameters. (default_options_table): Add -O3+ changes for parameters. * params.opt: Remove all *-O2 params. gcc/testsuite/ChangeLog: 2019-11-12 Martin Liska * g++.dg/tree-ssa/pr53844.C: Remove all *-O2 params. * 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. gcc/testsuite/ChangeLog: 2019-11-12 Martin Liska * c-c++-common/asan/memcmp-1.c: Update expected backtrace. --- gcc/cif-code.def | 4 - gcc/ipa-inline.c | 104 ++++++------------ gcc/opts.c | 11 +- gcc/params.opt | 32 +----- gcc/testsuite/c-c++-common/asan/memcmp-1.c | 4 +- gcc/testsuite/g++.dg/tree-ssa/pr53844.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/pr61034.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/pr8781.C | 2 +- .../g++.dg/warn/Wstringop-truncation-1.C | 2 +- gcc/testsuite/gcc.dg/ipa/pr63416.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c | 2 +- gcc/testsuite/gcc.dg/vect/pr66142.c | 2 +- gcc/testsuite/gcc.dg/winline-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/pr72804.c | 2 +- 14 files changed, 58 insertions(+), 115 deletions(-) diff --git a/gcc/cif-code.def b/gcc/cif-code.def index a154f24f13d..ac773c1134c 100644 --- a/gcc/cif-code.def +++ b/gcc/cif-code.def @@ -70,12 +70,8 @@ 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(MAX_INLINE_INSNS_AUTO_O2_LIMIT, CIF_FINAL_NORMAL, - N_("--param max-inline-insns-auto-O2 limit reached")) DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT, CIF_FINAL_NORMAL, N_("--param inline-unit-growth limit reached")) diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index df6f991ad79..9b96ca66137 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -393,44 +393,24 @@ can_inline_edge_p (struct cgraph_edge *e, bool report, scale up the bound. */ static int -inline_insns_single (cgraph_node *n, bool hint) +inline_insns_single (bool hint) { - if (opt_for_fn (n->decl, optimize) >= 3) - { - if (hint) - return param_max_inline_insns_single - * param_inline_heuristics_hint_percent / 100; - return param_max_inline_insns_single; - } - else - { - if (hint) - return param_max_inline_insns_single_o2 - * param_inline_heuristics_hint_percent_o2 / 100; - return param_max_inline_insns_single_o2; - } + if (hint) + return param_max_inline_insns_single + * param_inline_heuristics_hint_percent / 100; + return param_max_inline_insns_single; } /* Return inlining_insns_auto limit for function N. If HINT is true scale up the bound. */ static int -inline_insns_auto (cgraph_node *n, bool hint) +inline_insns_auto (bool hint) { - if (opt_for_fn (n->decl, optimize) >= 3) - { - if (hint) - return param_max_inline_insns_auto - * param_inline_heuristics_hint_percent / 100; - return param_max_inline_insns_auto; - } - else - { - if (hint) - return param_max_inline_insns_auto_o2 - * param_inline_heuristics_hint_percent_o2 / 100; - return param_max_inline_insns_auto_o2; - } + if (hint) + return param_max_inline_insns_auto + * param_inline_heuristics_hint_percent / 100; + return param_max_inline_insns_auto; } /* Decide if we can inline the edge and possibly update @@ -575,8 +555,8 @@ can_inline_edge_by_limits_p (struct cgraph_edge *e, bool report, int growth = estimate_edge_growth (e); if (growth > param_max_inline_insns_size && (!DECL_DECLARED_INLINE_P (callee->decl) - && growth >= MAX (inline_insns_single (caller, false), - inline_insns_auto (caller, false)))) + && growth >= MAX (inline_insns_single (false), + inline_insns_auto (false)))) { e->inline_failed = CIF_OPTIMIZATION_MISMATCH; inlinable = false; @@ -684,10 +664,7 @@ want_early_inline_function_p (struct cgraph_edge *e) { int growth = estimate_edge_growth (e); int n; - int early_inlining_insns = opt_for_fn (e->caller->decl, optimize) >= 3 - ? param_early_inlining_insns - : param_early_inlining_insns_o2; - + int early_inlining_insns = param_early_inlining_insns; if (growth <= param_max_inline_insns_size) ; @@ -789,12 +766,7 @@ big_speedup_p (struct cgraph_edge *e) sreal freq = e->sreal_frequency (); sreal time = compute_uninlined_call_time (e, unspec_time, freq); sreal inlined_time = compute_inlined_call_time (e, spec_time, freq); - cgraph_node *caller = (e->caller->inlined_to - ? e->caller->inlined_to - : e->caller); - int limit = opt_for_fn (caller->decl, optimize) >= 3 - ? param_inline_min_speedup - : param_inline_min_speedup_o2; + int limit = param_inline_min_speedup; if ((time - inlined_time) * 100 > time * limit) return true; @@ -828,28 +800,20 @@ want_inline_small_function_p (struct cgraph_edge *e, bool report) && (!e->count.ipa ().initialized_p () || !e->maybe_hot_p ())) && ipa_fn_summaries->get (callee)->min_size - ipa_call_summaries->get (e)->call_stmt_size - > inline_insns_auto (e->caller, true)) + > inline_insns_auto (true)) { - if (opt_for_fn (e->caller->decl, optimize) >= 3) - e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_LIMIT; - else - e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_O2_LIMIT; + e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_LIMIT; want_inline = false; } else if ((DECL_DECLARED_INLINE_P (callee->decl) || e->count.ipa ().nonzero_p ()) && ipa_fn_summaries->get (callee)->min_size - ipa_call_summaries->get (e)->call_stmt_size - > inline_insns_single (e->caller, true)) + > inline_insns_single (true)) { - if (opt_for_fn (e->caller->decl, optimize) >= 3) - e->inline_failed = (DECL_DECLARED_INLINE_P (callee->decl) - ? CIF_MAX_INLINE_INSNS_SINGLE_LIMIT - : CIF_MAX_INLINE_INSNS_AUTO_LIMIT); - else - e->inline_failed = (DECL_DECLARED_INLINE_P (callee->decl) - ? CIF_MAX_INLINE_INSNS_SINGLE_O2_LIMIT - : CIF_MAX_INLINE_INSNS_AUTO_O2_LIMIT); + e->inline_failed = (DECL_DECLARED_INLINE_P (callee->decl) + ? CIF_MAX_INLINE_INSNS_SINGLE_LIMIT + : CIF_MAX_INLINE_INSNS_AUTO_LIMIT); want_inline = false; } else @@ -868,15 +832,12 @@ want_inline_small_function_p (struct cgraph_edge *e, bool report) Avoid computation of big_speedup_p when not necessary to change outcome of decision. */ else if (DECL_DECLARED_INLINE_P (callee->decl) - && growth >= inline_insns_single (e->caller, apply_hints) + && growth >= inline_insns_single (apply_hints) && (apply_hints - || growth >= inline_insns_single (e->caller, true) + || growth >= inline_insns_single (true) || !big_speedup_p (e))) { - if (opt_for_fn (e->caller->decl, optimize) >= 3) - e->inline_failed = CIF_MAX_INLINE_INSNS_SINGLE_LIMIT; - else - e->inline_failed = CIF_MAX_INLINE_INSNS_SINGLE_O2_LIMIT; + e->inline_failed = CIF_MAX_INLINE_INSNS_SINGLE_LIMIT; want_inline = false; } else if (!DECL_DECLARED_INLINE_P (callee->decl) @@ -884,7 +845,7 @@ want_inline_small_function_p (struct cgraph_edge *e, bool report) && growth >= param_max_inline_insns_small) { /* growth_positive_p is expensive, always test it last. */ - if (growth >= inline_insns_single (e->caller, false) + if (growth >= inline_insns_single (false) || growth_positive_p (callee, e, growth)) { e->inline_failed = CIF_NOT_DECLARED_INLINED; @@ -894,25 +855,22 @@ want_inline_small_function_p (struct cgraph_edge *e, bool report) /* Apply param_max_inline_insns_auto limit for functions not declared inline. Bypass the limit when speedup seems big. */ else if (!DECL_DECLARED_INLINE_P (callee->decl) - && growth >= inline_insns_auto (e->caller, apply_hints) + && growth >= inline_insns_auto (apply_hints) && (apply_hints - || growth >= inline_insns_auto (e->caller, true) + || growth >= inline_insns_auto (true) || !big_speedup_p (e))) { /* growth_positive_p is expensive, always test it last. */ - if (growth >= inline_insns_single (e->caller, false) + if (growth >= inline_insns_single (false) || growth_positive_p (callee, e, growth)) { - if (opt_for_fn (e->caller->decl, optimize) >= 3) - e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_LIMIT; - else - e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_O2_LIMIT; + e->inline_failed = CIF_MAX_INLINE_INSNS_AUTO_LIMIT; want_inline = false; } } /* If call is cold, do not inline when function body would grow. */ else if (!e->maybe_hot_p () - && (growth >= inline_insns_single (e->caller, false) + && (growth >= inline_insns_single (false) || growth_positive_p (callee, e, growth))) { e->inline_failed = CIF_UNLIKELY_CALL; @@ -1220,8 +1178,8 @@ edge_badness (struct cgraph_edge *edge, bool dump) && caller_info->inlinable && ipa_size_summaries->get (caller)->size < (DECL_DECLARED_INLINE_P (caller->decl) - ? inline_insns_single (caller, false) - : inline_insns_auto (caller, false))) + ? inline_insns_single (false) + : inline_insns_auto (false))) { if (dump) fprintf (dump_file, diff --git a/gcc/opts.c b/gcc/opts.c index 74f05f1b58d..1840be976da 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -388,7 +388,8 @@ maybe_default_option (struct gcc_options *opts, lang_mask, DK_UNSPECIFIED, loc, handlers, true, dc); else if (default_opt->arg == NULL - && !option->cl_reject_negative) + && !option->cl_reject_negative + && !(option->flags & CL_PARAMS)) handle_generated_option (opts, opts_set, default_opt->opt_index, default_opt->arg, !default_opt->value, lang_mask, DK_UNSPECIFIED, loc, @@ -541,6 +542,14 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_3_PLUS, OPT_fvect_cost_model_, NULL, VECT_COST_MODEL_DYNAMIC }, { OPT_LEVELS_3_PLUS, OPT_fversion_loops_for_strides, NULL, 1 }, + /* -O3 parameters. */ + { 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_auto_, NULL, 30 }, + { 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 }, { OPT_LEVELS_FAST, OPT_fallow_store_data_races, NULL, 1 }, diff --git a/gcc/params.opt b/gcc/params.opt index be0a3a15598..2e88ba21a2a 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -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) 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,19 +175,11 @@ 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) 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) IntegerRange(0, 100) Param The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto. -param=inline-unit-growth= @@ -467,11 +455,7 @@ Common Joined UInteger Var(param_max_hoist_depth) Init(30) Param Maximum depth of search in the dominator tree for expressions to hoist. -param=max-inline-insns-auto= -Common Joined UInteger Var(param_max_inline_insns_auto) Init(30) Param -The maximum number of instructions when automatically inlining with -O3 and -Ofast. - --param=max-inline-insns-auto-O2= -Common Joined UInteger Var(param_max_inline_insns_auto_o2) Init(15) Param +Common Joined UInteger Var(param_max_inline_insns_auto) Init(15) Param The maximum number of instructions when automatically inlining. -param=max-inline-insns-recursive= @@ -483,11 +467,7 @@ Common Joined UInteger Var(param_max_inline_insns_recursive_auto) Init(450) Para 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(30) Param +Common Joined UInteger Var(param_max_inline_insns_single) Init(30) Param The maximum number of instructions in a single function eligible for inlining. -param=max-inline-insns-size= diff --git a/gcc/testsuite/c-c++-common/asan/memcmp-1.c b/gcc/testsuite/c-c++-common/asan/memcmp-1.c index 0a513c05ee1..0403ad78945 100644 --- a/gcc/testsuite/c-c++-common/asan/memcmp-1.c +++ b/gcc/testsuite/c-c++-common/asan/memcmp-1.c @@ -16,5 +16,5 @@ main () } /* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow.*(\n|\r\n|\r)" } */ -/* { dg-output " #1 0x\[0-9a-f\]+ +(in _*(interceptor_|wrap_|)memcmp|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ -/* { dg-output " #2 0x\[0-9a-f\]+ +(in _*main|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #\[1-9\] 0x\[0-9a-f\]+ +(in _*(interceptor_|wrap_|)memcmp|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ +/* { dg-output " #\[2-9\] 0x\[0-9a-f\]+ +(in _*main|\[(\])\[^\n\r]*(\n|\r\n|\r)" } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr53844.C b/gcc/testsuite/g++.dg/tree-ssa/pr53844.C index ab9879f6a18..74027e0a1fd 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr53844.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr53844.C @@ -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; diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr61034.C b/gcc/testsuite/g++.dg/tree-ssa/pr61034.C index 6a76adb5b80..1e8168ab4f4 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr61034.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr61034.C @@ -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() diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr8781.C b/gcc/testsuite/g++.dg/tree-ssa/pr8781.C index 5bc1ef03520..b9f636b6083 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr8781.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr8781.C @@ -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(); diff --git a/gcc/testsuite/g++.dg/warn/Wstringop-truncation-1.C b/gcc/testsuite/g++.dg/warn/Wstringop-truncation-1.C index 49dde0a65ba..8f5e7da2c2e 100644 --- a/gcc/testsuite/g++.dg/warn/Wstringop-truncation-1.C +++ b/gcc/testsuite/g++.dg/warn/Wstringop-truncation-1.C @@ -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 diff --git a/gcc/testsuite/gcc.dg/ipa/pr63416.c b/gcc/testsuite/gcc.dg/ipa/pr63416.c index 5873954fba3..c7bc97e0bb1 100644 --- a/gcc/testsuite/gcc.dg/ipa/pr63416.c +++ b/gcc/testsuite/gcc.dg/ipa/pr63416.c @@ -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); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c index fff731e8cfc..fb9840e95d5 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-thread-12.c @@ -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 *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/pr66142.c b/gcc/testsuite/gcc.dg/vect/pr66142.c index a0316f1f01e..7abd00ca85a 100644 --- a/gcc/testsuite/gcc.dg/vect/pr66142.c +++ b/gcc/testsuite/gcc.dg/vect/pr66142.c @@ -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; }; diff --git a/gcc/testsuite/gcc.dg/winline-3.c b/gcc/testsuite/gcc.dg/winline-3.c index 7043a276025..7b7c8c5b9eb 100644 --- a/gcc/testsuite/gcc.dg/winline-3.c +++ b/gcc/testsuite/gcc.dg/winline-3.c @@ -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" } */ diff --git a/gcc/testsuite/gcc.target/powerpc/pr72804.c b/gcc/testsuite/gcc.target/powerpc/pr72804.c index 10e37caed6b..56a2452885e 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr72804.c +++ b/gcc/testsuite/gcc.target/powerpc/pr72804.c @@ -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)