public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: Uros Bizjak <ubizjak@gmail.com>
Cc: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
	Jan Hubicka <hubicka@ucw.cz>
Subject: Re: PING^2 : Re: [PATCH 08/10] i386: add 'final' and 'override' to scalar_chain vfunc impls
Date: Mon, 27 Jun 2022 17:25:30 -0400	[thread overview]
Message-ID: <49c2c7d3cf241b6125151b91573636affb4bd1b3.camel@redhat.com> (raw)
In-Reply-To: <CAFULd4ZaRr-0ZJsrUNOfp9CQRrnTZrN998tumsMAF1brcLBU4g@mail.gmail.com>

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
> > > 
> > 
> > 
> 



  reply	other threads:[~2022-06-27 21:25 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-23 19:28 [PATCH 00/10] Add 'final' and 'override' where missing David Malcolm
2022-05-23 19:28 ` [PATCH 01/10] Add 'final' and 'override' to opt_pass vfunc impls David Malcolm
2022-06-13 18:22   ` PING: " David Malcolm
2022-06-24 18:08     ` PING^2: " David Malcolm
2022-06-24 18:45       ` Jeff Law
2022-06-27 21:16         ` David Malcolm
2022-05-23 19:28 ` [PATCH 02/10] Add 'final' and 'override' on dom_walker " David Malcolm
2022-06-13 18:23   ` PING " David Malcolm
2022-06-24 18:10     ` PING^2 " David Malcolm
2022-05-23 19:28 ` [PATCH 03/10] expr.cc: use final/override on op_by_pieces_d vfuncs David Malcolm
2022-06-13 18:25   ` PING: " David Malcolm
2022-06-24 18:12     ` PING^2 : " David Malcolm
2022-05-23 19:28 ` [PATCH 04/10] tree-switch-conversion.h: use final/override for cluster vfunc impls David Malcolm
2022-06-13 18:26   ` PING " David Malcolm
2022-06-24 18:14     ` PING^2 : " David Malcolm
2022-05-23 19:28 ` [PATCH 05/10] d: add 'final' and 'override' to gcc/d/*.cc 'visit' impls David Malcolm
2022-05-24 12:56   ` Iain Buclaw
2022-05-24 13:15     ` David Malcolm
2022-05-24 15:11       ` Iain Buclaw
2022-05-23 19:28 ` [PATCH 06/10] ipa: add 'final' and 'override' to call_summary_base vfunc impls David Malcolm
2022-05-24  7:36   ` Martin Liška
2022-05-23 19:28 ` [PATCH 07/10] value-relation.h: add 'final' and 'override' to relation_oracle " David Malcolm
2022-06-13 18:28   ` PING " David Malcolm
2022-06-14  0:45     ` Aldy Hernandez
2022-06-14  1:24       ` David Malcolm
2022-06-15 13:33         ` Andrew MacLeod
2022-06-15 21:58           ` David Malcolm
2022-05-23 19:28 ` [PATCH 08/10] i386: add 'final' and 'override' to scalar_chain " David Malcolm
2022-06-13 18:30   ` PING: " David Malcolm
2022-06-24 18:19     ` PING^2 : " David Malcolm
2022-06-24 20:58       ` Uros Bizjak
2022-06-27 21:25         ` David Malcolm [this message]
2022-08-16  8:55       ` [PATCH][pushed] i386: add 'final' and 'override' to scalar_chain Martin Liška
2022-05-23 19:28 ` [PATCH 09/10] tree-vect-slp-patterns.cc: add 'final' and 'override' to vect_pattern::build impls David Malcolm
2022-05-24  6:44   ` Richard Biener
2022-05-23 19:28 ` [PATCH 10/10] Add 'final' and 'override' in various places David Malcolm
2022-06-13 18:30   ` PING " David Malcolm
2022-06-24 18:20     ` PING^2: " David Malcolm
2022-05-25  3:29 ` [PATCH 00/10] Add 'final' and 'override' where missing Eric Gallager

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49c2c7d3cf241b6125151b91573636affb4bd1b3.camel@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=ubizjak@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).