I'd like to ping this patch again: https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595436.html
OK for trunk? Thanks Dave On Mon, 2022-06-13 at 14:23 -0400, David Malcolm wrote: > Ping for this patch: > https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595436.html > > OK for tunk? > > Thanks > Dave > > On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > > gcc/ChangeLog: > > * compare-elim.cc: Add "final" and "override" to dom_walker > > vfunc > > implementations, removing redundant "virtual" as appropriate. > > * gimple-ssa-strength-reduction.cc: Likewise. > > * ipa-prop.cc: Likewise. > > * rtl-ssa/blocks.cc: Likewise. > > * tree-into-ssa.cc: Likewise. > > * tree-ssa-dom.cc: Likewise. > > * tree-ssa-math-opts.cc: Likewise. > > * tree-ssa-phiopt.cc: Likewise. > > * tree-ssa-propagate.cc: Likewise. > > * tree-ssa-sccvn.cc: Likewise. > > * tree-ssa-strlen.cc: Likewise. > > * tree-ssa-uncprop.cc: Likewise. > > > > Signed-off-by: David Malcolm <dmalc...@redhat.com> > > --- > > gcc/compare-elim.cc | 2 +- > > gcc/gimple-ssa-strength-reduction.cc | 2 +- > > gcc/ipa-prop.cc | 4 ++-- > > gcc/rtl-ssa/blocks.cc | 4 ++-- > > gcc/tree-into-ssa.cc | 10 +++++----- > > gcc/tree-ssa-dom.cc | 4 ++-- > > gcc/tree-ssa-math-opts.cc | 2 +- > > gcc/tree-ssa-phiopt.cc | 4 ++-- > > gcc/tree-ssa-propagate.cc | 4 ++-- > > gcc/tree-ssa-sccvn.cc | 4 ++-- > > gcc/tree-ssa-strlen.cc | 4 ++-- > > gcc/tree-ssa-uncprop.cc | 4 ++-- > > 12 files changed, 24 insertions(+), 24 deletions(-) > > > > diff --git a/gcc/compare-elim.cc b/gcc/compare-elim.cc > > index e869d9d3249..4a23202f8ff 100644 > > --- a/gcc/compare-elim.cc > > +++ b/gcc/compare-elim.cc > > @@ -283,7 +283,7 @@ public: > > find_comparison_dom_walker (cdi_direction direction) > > : dom_walker (direction) {} > > > > - virtual edge before_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > }; > > > > /* Return true if conforming COMPARE with EH_NOTE is redundant with > > comparison > > diff --git a/gcc/gimple-ssa-strength-reduction.cc b/gcc/gimple-ssa- > > strength-reduction.cc > > index 2b559e96fc8..fb2bb9f4e74 100644 > > --- a/gcc/gimple-ssa-strength-reduction.cc > > +++ b/gcc/gimple-ssa-strength-reduction.cc > > @@ -1729,7 +1729,7 @@ class find_candidates_dom_walker : public > > dom_walker > > public: > > find_candidates_dom_walker (cdi_direction direction) > > : dom_walker (direction) {} > > - virtual edge before_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > }; > > > > /* Find strength-reduction candidates in block BB. */ > > diff --git a/gcc/ipa-prop.cc b/gcc/ipa-prop.cc > > index c6c745f84a0..03f0ba2ec75 100644 > > --- a/gcc/ipa-prop.cc > > +++ b/gcc/ipa-prop.cc > > @@ -3004,7 +3004,7 @@ public: > > analysis_dom_walker (struct ipa_func_body_info *fbi) > > : dom_walker (CDI_DOMINATORS), m_fbi (fbi) {} > > > > - virtual edge before_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > > > private: > > struct ipa_func_body_info *m_fbi; > > @@ -5653,7 +5653,7 @@ public: > > : dom_walker (CDI_DOMINATORS), m_fbi (fbi), m_descriptors > > (descs), > > m_aggval (av), m_something_changed (sc) {} > > > > - virtual edge before_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > bool cleanup_eh () > > { return gimple_purge_all_dead_eh_edges (m_need_eh_cleanup); } > > > > diff --git a/gcc/rtl-ssa/blocks.cc b/gcc/rtl-ssa/blocks.cc > > index 959fad8f829..6b03dd03747 100644 > > --- a/gcc/rtl-ssa/blocks.cc > > +++ b/gcc/rtl-ssa/blocks.cc > > @@ -85,8 +85,8 @@ class function_info::bb_walker : public dom_walker > > { > > public: > > bb_walker (function_info *, build_info &); > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > private: > > // Information about the function we're building. > > diff --git a/gcc/tree-into-ssa.cc b/gcc/tree-into-ssa.cc > > index 46df57ae0e1..9631d8c6556 100644 > > --- a/gcc/tree-into-ssa.cc > > +++ b/gcc/tree-into-ssa.cc > > @@ -1462,8 +1462,8 @@ public: > > rewrite_dom_walker (cdi_direction direction) > > : dom_walker (direction, ALL_BLOCKS, NULL) {} > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > }; > > > > /* SSA Rewriting Step 1. Initialization, create a block local stack > > @@ -2148,8 +2148,8 @@ public: > > rewrite_update_dom_walker (cdi_direction direction) > > : dom_walker (direction, ALL_BLOCKS, NULL) {} > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > }; > > > > /* Initialization of block data structures for the incremental SSA > > @@ -2300,7 +2300,7 @@ public: > > mark_def_dom_walker (cdi_direction direction); > > ~mark_def_dom_walker (); > > > > - virtual edge before_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > > > private: > > /* Notice that this bitmap is indexed using variable UIDs, so it > > must be > > diff --git a/gcc/tree-ssa-dom.cc b/gcc/tree-ssa-dom.cc > > index 97e17ca68e4..1a44b10756f 100644 > > --- a/gcc/tree-ssa-dom.cc > > +++ b/gcc/tree-ssa-dom.cc > > @@ -737,8 +737,8 @@ public: > > m_threader = threader; > > } > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > private: > > > > diff --git a/gcc/tree-ssa-math-opts.cc b/gcc/tree-ssa-math-opts.cc > > index fe9f37b4cd4..a4492c96419 100644 > > --- a/gcc/tree-ssa-math-opts.cc > > +++ b/gcc/tree-ssa-math-opts.cc > > @@ -4918,7 +4918,7 @@ public: > > > > /* The actual actions performed in the walk. */ > > > > - virtual void after_dom_children (basic_block); > > + void after_dom_children (basic_block) final override; > > > > /* Set of results of chains of multiply and add statement > > combinations that > > were not transformed into FMAs because of active deferring. */ > > diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc > > index 162ca7098cd..d17c49468db 100644 > > --- a/gcc/tree-ssa-phiopt.cc > > +++ b/gcc/tree-ssa-phiopt.cc > > @@ -2978,8 +2978,8 @@ public: > > : dom_walker (direction), m_nontrapping (ps), m_seen_refs (128) > > {} > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > private: > > > > diff --git a/gcc/tree-ssa-propagate.cc b/gcc/tree-ssa-propagate.cc > > index c10ffd91766..d2d32517a8c 100644 > > --- a/gcc/tree-ssa-propagate.cc > > +++ b/gcc/tree-ssa-propagate.cc > > @@ -679,8 +679,8 @@ public: > > BITMAP_FREE (need_eh_cleanup); > > } > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block bb) > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block bb) final override > > { > > substitute_and_fold_engine->post_fold_bb (bb); > > } > > diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc > > index 18392e031b8..7407591e98c 100644 > > --- a/gcc/tree-ssa-sccvn.cc > > +++ b/gcc/tree-ssa-sccvn.cc > > @@ -2493,8 +2493,8 @@ public: > > eliminate_dom_walker (cdi_direction, bitmap); > > ~eliminate_dom_walker (); > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > virtual tree eliminate_avail (basic_block, tree op); > > virtual void eliminate_push_avail (basic_block, tree op); > > diff --git a/gcc/tree-ssa-strlen.cc b/gcc/tree-ssa-strlen.cc > > index 2cceba6f7af..7b3e3899ea2 100644 > > --- a/gcc/tree-ssa-strlen.cc > > +++ b/gcc/tree-ssa-strlen.cc > > @@ -243,8 +243,8 @@ public: > > > > ~strlen_pass (); > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > bool check_and_optimize_stmt (bool *cleanup_eh); > > bool check_and_optimize_call (bool *zero_write); > > diff --git a/gcc/tree-ssa-uncprop.cc b/gcc/tree-ssa-uncprop.cc > > index 510f8319d8c..900bf336e2e 100644 > > --- a/gcc/tree-ssa-uncprop.cc > > +++ b/gcc/tree-ssa-uncprop.cc > > @@ -298,8 +298,8 @@ class uncprop_dom_walker : public dom_walker > > public: > > uncprop_dom_walker (cdi_direction direction) : dom_walker > > (direction) {} > > > > - virtual edge before_dom_children (basic_block); > > - virtual void after_dom_children (basic_block); > > + edge before_dom_children (basic_block) final override; > > + void after_dom_children (basic_block) final override; > > > > private: > > >