Message ID | 20220523192834.3785673-9-dmalcolm@redhat.com |
---|---|
State | New |
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7EE02385801E for <patchwork@sourceware.org>; Mon, 23 May 2022 19:34:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7EE02385801E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1653334494; bh=9f3pVV8/t3adF+Vmmf9QOOFumHQ8FYIwsy+aC+gRYp4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=FfYds4SreQVHiw+zXvsFNVYh/jzL4MOwhZ7WpBAmExw0i0c7hrEHe2fmLS1XUqvwr QlGasw1R+bnHgFEqSJSiqqFFDwfhuI07Ty8z+vhjCW7LrL0I1n/exIn4CdS6yVym3j T031Ml2X2Nr0+J5v5DzCCCKJQLhPN4itnZp9PKkc= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 29D643858427 for <gcc-patches@gcc.gnu.org>; Mon, 23 May 2022 19:28:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 29D643858427 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-175-QE-arZ2IPe-y8sokbAjZUw-1; Mon, 23 May 2022 15:28:40 -0400 X-MC-Unique: QE-arZ2IPe-y8sokbAjZUw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5C5738032E5 for <gcc-patches@gcc.gnu.org>; Mon, 23 May 2022 19:28:40 +0000 (UTC) Received: from t14s.localdomain.com (unknown [10.2.17.26]) by smtp.corp.redhat.com (Postfix) with ESMTP id 37CD02166B25; Mon, 23 May 2022 19:28:40 +0000 (UTC) To: gcc-patches@gcc.gnu.org Subject: [PATCH 08/10] i386: add 'final' and 'override' to scalar_chain vfunc impls Date: Mon, 23 May 2022 15:28:32 -0400 Message-Id: <20220523192834.3785673-9-dmalcolm@redhat.com> In-Reply-To: <20220523192834.3785673-1-dmalcolm@redhat.com> References: <20220523192834.3785673-1-dmalcolm@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: David Malcolm via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: David Malcolm <dmalcolm@redhat.com> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
Add 'final' and 'override' where missing
|
|
Commit Message
David Malcolm
May 23, 2022, 7:28 p.m. UTC
gcc/ChangeLog:
* config/i386/i386-features.h: Add "final" and "override" to
scalar_chain vfunc implementations as appropriate.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
---
gcc/config/i386/i386-features.h | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
Comments
Ping for this patch: https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html OK for trunk? Thanks Dave On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > gcc/ChangeLog: > * config/i386/i386-features.h: Add "final" and "override" to > scalar_chain vfunc implementations as appropriate. > > Signed-off-by: David Malcolm <dmalcolm@redhat.com> > --- > gcc/config/i386/i386-features.h | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/gcc/config/i386/i386-features.h b/gcc/config/i386/i386- > features.h > index 5c307607ae5..f46a6d95b74 100644 > --- a/gcc/config/i386/i386-features.h > +++ b/gcc/config/i386/i386-features.h > @@ -169,18 +169,18 @@ class general_scalar_chain : public scalar_chain > public: > general_scalar_chain (enum machine_mode smode_, enum machine_mode > vmode_); > ~general_scalar_chain (); > - int compute_convert_gain (); > + int compute_convert_gain () final override; > private: > hash_map<rtx, rtx> defs_map; > bitmap insns_conv; > unsigned n_sse_to_integer; > unsigned n_integer_to_sse; > - void mark_dual_mode_def (df_ref def); > - void convert_insn (rtx_insn *insn); > + void mark_dual_mode_def (df_ref def) final override; > + void convert_insn (rtx_insn *insn) final override; > void convert_op (rtx *op, rtx_insn *insn); > void convert_reg (rtx_insn *insn, rtx dst, rtx src); > void make_vector_copies (rtx_insn *, rtx); > - void convert_registers (); > + void convert_registers () final override; > int vector_const_cost (rtx exp); > }; > > @@ -190,14 +190,14 @@ class timode_scalar_chain : public scalar_chain > timode_scalar_chain () : scalar_chain (TImode, V1TImode) {} > > /* Convert from TImode to V1TImode is always faster. */ > - int compute_convert_gain () { return 1; } > + int compute_convert_gain () final override { return 1; } > > private: > - void mark_dual_mode_def (df_ref def); > + void mark_dual_mode_def (df_ref def) final override; > void fix_debug_reg_uses (rtx reg); > - void convert_insn (rtx_insn *insn); > + void convert_insn (rtx_insn *insn) final override; > /* We don't convert registers to difference size. */ > - void convert_registers () {} > + void convert_registers () final override {} > }; > > } // anon namespace
I'd like to ping this patch: https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html OK for trunk? Thanks Dave On Mon, 2022-06-13 at 14:30 -0400, David Malcolm wrote: > Ping for this patch: > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html > > OK for trunk? > > Thanks > Dave > > On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > > gcc/ChangeLog: > > * config/i386/i386-features.h: Add "final" and "override" to > > scalar_chain vfunc implementations as appropriate. > > > > Signed-off-by: David Malcolm <dmalcolm@redhat.com> > > --- > > gcc/config/i386/i386-features.h | 16 ++++++++-------- > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/gcc/config/i386/i386-features.h b/gcc/config/i386/i386- > > features.h > > index 5c307607ae5..f46a6d95b74 100644 > > --- a/gcc/config/i386/i386-features.h > > +++ b/gcc/config/i386/i386-features.h > > @@ -169,18 +169,18 @@ class general_scalar_chain : public > > scalar_chain > > public: > > general_scalar_chain (enum machine_mode smode_, enum machine_mode > > vmode_); > > ~general_scalar_chain (); > > - int compute_convert_gain (); > > + int compute_convert_gain () final override; > > private: > > hash_map<rtx, rtx> defs_map; > > bitmap insns_conv; > > unsigned n_sse_to_integer; > > unsigned n_integer_to_sse; > > - void mark_dual_mode_def (df_ref def); > > - void convert_insn (rtx_insn *insn); > > + void mark_dual_mode_def (df_ref def) final override; > > + void convert_insn (rtx_insn *insn) final override; > > void convert_op (rtx *op, rtx_insn *insn); > > void convert_reg (rtx_insn *insn, rtx dst, rtx src); > > void make_vector_copies (rtx_insn *, rtx); > > - void convert_registers (); > > + void convert_registers () final override; > > int vector_const_cost (rtx exp); > > }; > > > > @@ -190,14 +190,14 @@ class timode_scalar_chain : public scalar_chain > > timode_scalar_chain () : scalar_chain (TImode, V1TImode) {} > > > > /* Convert from TImode to V1TImode is always faster. */ > > - int compute_convert_gain () { return 1; } > > + int compute_convert_gain () final override { return 1; } > > > > private: > > - void mark_dual_mode_def (df_ref def); > > + void mark_dual_mode_def (df_ref def) final override; > > void fix_debug_reg_uses (rtx reg); > > - void convert_insn (rtx_insn *insn); > > + void convert_insn (rtx_insn *insn) final override; > > /* We don't convert registers to difference size. */ > > - void convert_registers () {} > > + void convert_registers () final override {} > > }; > > > > } // anon namespace >
On Fri, Jun 24, 2022 at 8:19 PM David Malcolm <dmalcolm@redhat.com> wrote: > > I'd like to ping this patch: > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html > > OK for trunk? I have no idea what patch does, but if all other targets do the same, x86 shouldn't be left behind. So, rubber-stamping OK. Thanks, Uros. > > Thanks > Dave > > > On Mon, 2022-06-13 at 14:30 -0400, David Malcolm wrote: > > Ping for this patch: > > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html > > > > OK for trunk? > > > > Thanks > > Dave > > > > On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > > > gcc/ChangeLog: > > > * config/i386/i386-features.h: Add "final" and "override" to > > > scalar_chain vfunc implementations as appropriate. > > > > > > Signed-off-by: David Malcolm <dmalcolm@redhat.com> > > > --- > > > gcc/config/i386/i386-features.h | 16 ++++++++-------- > > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > > > diff --git a/gcc/config/i386/i386-features.h b/gcc/config/i386/i386- > > > features.h > > > index 5c307607ae5..f46a6d95b74 100644 > > > --- a/gcc/config/i386/i386-features.h > > > +++ b/gcc/config/i386/i386-features.h > > > @@ -169,18 +169,18 @@ class general_scalar_chain : public > > > scalar_chain > > > public: > > > general_scalar_chain (enum machine_mode smode_, enum machine_mode > > > vmode_); > > > ~general_scalar_chain (); > > > - int compute_convert_gain (); > > > + int compute_convert_gain () final override; > > > private: > > > hash_map<rtx, rtx> defs_map; > > > bitmap insns_conv; > > > unsigned n_sse_to_integer; > > > unsigned n_integer_to_sse; > > > - void mark_dual_mode_def (df_ref def); > > > - void convert_insn (rtx_insn *insn); > > > + void mark_dual_mode_def (df_ref def) final override; > > > + void convert_insn (rtx_insn *insn) final override; > > > void convert_op (rtx *op, rtx_insn *insn); > > > void convert_reg (rtx_insn *insn, rtx dst, rtx src); > > > void make_vector_copies (rtx_insn *, rtx); > > > - void convert_registers (); > > > + void convert_registers () final override; > > > int vector_const_cost (rtx exp); > > > }; > > > > > > @@ -190,14 +190,14 @@ class timode_scalar_chain : public scalar_chain > > > timode_scalar_chain () : scalar_chain (TImode, V1TImode) {} > > > > > > /* Convert from TImode to V1TImode is always faster. */ > > > - int compute_convert_gain () { return 1; } > > > + int compute_convert_gain () final override { return 1; } > > > > > > private: > > > - void mark_dual_mode_def (df_ref def); > > > + void mark_dual_mode_def (df_ref def) final override; > > > void fix_debug_reg_uses (rtx reg); > > > - void convert_insn (rtx_insn *insn); > > > + void convert_insn (rtx_insn *insn) final override; > > > /* We don't convert registers to difference size. */ > > > - void convert_registers () {} > > > + void convert_registers () final override {} > > > }; > > > > > > } // anon namespace > > > >
On Fri, 2022-06-24 at 22:58 +0200, Uros Bizjak wrote: > On Fri, Jun 24, 2022 at 8:19 PM David Malcolm <dmalcolm@redhat.com> > wrote: > > > > I'd like to ping this patch: > > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html > > > > OK for trunk? > > I have no idea what patch does, Sorry for any confusion; there was a description in the cover letter to the kit, but you won't have seen that due to me CCing you to just this one. This is a C++11 feature, which helps document our intentions in those places where we're using virtual functions. We can add "final" and "override" to the decls of virtual function in derived classes, which document to both human and automated readers of the code that the decl is intended to override a virtual function in a base class. In particular, it can help catch commom mistakes where we intended to override a virtual function, but messed up the prototypes and so merely introduced a similar-looking function that never gets called. For example, G++ has a -Wsuggest-override warning (which I hope we'll eventually be able to turn on during our bootstraps). > but if all other targets do the same, > x86 shouldn't be left behind. > So, rubber-stamping OK. Thanks. As it happens, x86 is actually the only patch I've done this cleanup for - but Jeff declared this cleanup to be obvious when reviewing another patch in the kit, so I've pushed this (as r13-1309- g0a8333ade9a03f), along with the rest of the kit. Hope this makes sense Dave > > Thanks, > Uros. > > > > > Thanks > > Dave > > > > > > On Mon, 2022-06-13 at 14:30 -0400, David Malcolm wrote: > > > Ping for this patch: > > > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595440.html > > > > > > OK for trunk? > > > > > > Thanks > > > Dave > > > > > > On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > > > > gcc/ChangeLog: > > > > * config/i386/i386-features.h: Add "final" and "override" > > > > to > > > > scalar_chain vfunc implementations as appropriate. > > > > > > > > Signed-off-by: David Malcolm <dmalcolm@redhat.com> > > > > --- > > > > gcc/config/i386/i386-features.h | 16 ++++++++-------- > > > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > > > > > diff --git a/gcc/config/i386/i386-features.h > > > > b/gcc/config/i386/i386- > > > > features.h > > > > index 5c307607ae5..f46a6d95b74 100644 > > > > --- a/gcc/config/i386/i386-features.h > > > > +++ b/gcc/config/i386/i386-features.h > > > > @@ -169,18 +169,18 @@ class general_scalar_chain : public > > > > scalar_chain > > > > public: > > > > general_scalar_chain (enum machine_mode smode_, enum > > > > machine_mode > > > > vmode_); > > > > ~general_scalar_chain (); > > > > - int compute_convert_gain (); > > > > + int compute_convert_gain () final override; > > > > private: > > > > hash_map<rtx, rtx> defs_map; > > > > bitmap insns_conv; > > > > unsigned n_sse_to_integer; > > > > unsigned n_integer_to_sse; > > > > - void mark_dual_mode_def (df_ref def); > > > > - void convert_insn (rtx_insn *insn); > > > > + void mark_dual_mode_def (df_ref def) final override; > > > > + void convert_insn (rtx_insn *insn) final override; > > > > void convert_op (rtx *op, rtx_insn *insn); > > > > void convert_reg (rtx_insn *insn, rtx dst, rtx src); > > > > void make_vector_copies (rtx_insn *, rtx); > > > > - void convert_registers (); > > > > + void convert_registers () final override; > > > > int vector_const_cost (rtx exp); > > > > }; > > > > > > > > @@ -190,14 +190,14 @@ class timode_scalar_chain : public > > > > scalar_chain > > > > timode_scalar_chain () : scalar_chain (TImode, V1TImode) {} > > > > > > > > /* Convert from TImode to V1TImode is always faster. */ > > > > - int compute_convert_gain () { return 1; } > > > > + int compute_convert_gain () final override { return 1; } > > > > > > > > private: > > > > - void mark_dual_mode_def (df_ref def); > > > > + void mark_dual_mode_def (df_ref def) final override; > > > > void fix_debug_reg_uses (rtx reg); > > > > - void convert_insn (rtx_insn *insn); > > > > + void convert_insn (rtx_insn *insn) final override; > > > > /* We don't convert registers to difference size. */ > > > > - void convert_registers () {} > > > > + void convert_registers () final override {} > > > > }; > > > > > > > > } // anon namespace > > > > > > > >
diff --git a/gcc/config/i386/i386-features.h b/gcc/config/i386/i386-features.h index 5c307607ae5..f46a6d95b74 100644 --- a/gcc/config/i386/i386-features.h +++ b/gcc/config/i386/i386-features.h @@ -169,18 +169,18 @@ class general_scalar_chain : public scalar_chain public: general_scalar_chain (enum machine_mode smode_, enum machine_mode vmode_); ~general_scalar_chain (); - int compute_convert_gain (); + int compute_convert_gain () final override; private: hash_map<rtx, rtx> defs_map; bitmap insns_conv; unsigned n_sse_to_integer; unsigned n_integer_to_sse; - void mark_dual_mode_def (df_ref def); - void convert_insn (rtx_insn *insn); + void mark_dual_mode_def (df_ref def) final override; + void convert_insn (rtx_insn *insn) final override; void convert_op (rtx *op, rtx_insn *insn); void convert_reg (rtx_insn *insn, rtx dst, rtx src); void make_vector_copies (rtx_insn *, rtx); - void convert_registers (); + void convert_registers () final override; int vector_const_cost (rtx exp); }; @@ -190,14 +190,14 @@ class timode_scalar_chain : public scalar_chain timode_scalar_chain () : scalar_chain (TImode, V1TImode) {} /* Convert from TImode to V1TImode is always faster. */ - int compute_convert_gain () { return 1; } + int compute_convert_gain () final override { return 1; } private: - void mark_dual_mode_def (df_ref def); + void mark_dual_mode_def (df_ref def) final override; void fix_debug_reg_uses (rtx reg); - void convert_insn (rtx_insn *insn); + void convert_insn (rtx_insn *insn) final override; /* We don't convert registers to difference size. */ - void convert_registers () {} + void convert_registers () final override {} }; } // anon namespace