On Thu, Apr 10, 2025 at 4:09 PM Richard Biener <rguent...@suse.de> wrote: > > The following removes the ability to switch back to non SLP-only > operation of the vectorizer - a requirement to start cleaning out > non-SLP paths without risk of regressing that case.
I have pushed this series now. Richard. > * params.opt (--param=vect-force-slp): Remove. > * doc/invoke.texi (--param=vect-force-slp): Likewise. > * tree-vect-loop.cc (vect_analyze_loop_2): Assume > param_vect_force_slp is 1. > * tree-vect-stmts.cc (vect_analyze_stmt): Likewise. > --- > gcc/doc/invoke.texi | 3 --- > gcc/params.opt | 4 ---- > gcc/tree-vect-loop.cc | 2 +- > gcc/tree-vect-stmts.cc | 2 +- > 4 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index a040d65af0e..7ec2498a12d 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -17171,9 +17171,6 @@ this parameter. The default value of this parameter > is 50. > @item vect-induction-float > Enable loop vectorization of floating point inductions. > > -@item vect-force-slp > -Force the use of SLP when vectorizing, fail if not possible. > - > @item vrp-block-limit > Maximum number of basic blocks before VRP switches to a lower memory > algorithm. > > diff --git a/gcc/params.opt b/gcc/params.opt > index 422d082b355..748272c9fb9 100644 > --- a/gcc/params.opt > +++ b/gcc/params.opt > @@ -1230,10 +1230,6 @@ The maximum factor which the loop vectorizer applies > to the cost of statements i > Common Joined UInteger Var(param_vect_induction_float) Init(1) > IntegerRange(0, 1) Param Optimization > Enable loop vectorization of floating point inductions. > > --param=vect-force-slp= > -Common Joined UInteger Var(param_vect_force_slp) Init(1) IntegerRange(0, 1) > Param Optimization > -Force the use of SLP when vectorizing, fail if not possible. > - > -param=vrp-block-limit= > Common Joined UInteger Var(param_vrp_block_limit) Init(150000) Optimization > Param > Maximum number of basic blocks before VRP switches to a fast model with less > memory requirements. > diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc > index 9413dcef702..792231e5cf6 100644 > --- a/gcc/tree-vect-loop.cc > +++ b/gcc/tree-vect-loop.cc > @@ -2928,7 +2928,7 @@ start_over: > > /* When we arrive here with SLP disabled and we are supposed > to use SLP for everything fail vectorization. */ > - if (!slp && param_vect_force_slp) > + if (!slp) > return opt_result::failure_at (vect_location, > "may need non-SLP handling\n"); > > diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc > index 7f874354e75..5a1ab7e0e26 100644 > --- a/gcc/tree-vect-stmts.cc > +++ b/gcc/tree-vect-stmts.cc > @@ -14006,7 +14006,7 @@ vect_analyze_stmt (vec_info *vinfo, > > /* When we arrive here with a non-SLP statement and we are supposed > to use SLP for everything fail vectorization. */ > - if (!node && param_vect_force_slp) > + if (!node) > return opt_result::failure_at (stmt_info->stmt, > "needs non-SLP handling\n"); > > -- > 2.43.0 >