Hi, On Fri, Oct 25 2024, Richard Biener wrote: > The following places a few strathegic asserts so we do not end up > with COND_EXPRs with a comparison as the first operand during > vectorization. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu. > > These are the asserts I'd like to keep, I will followup with quite > some dead code removal when this holds. > > * tree-vect-slp.cc (vect_get_operand_map): Mark > COMPARISON_CLASS_P COND_EXPR condition path unreachable. > * tree-vect-stmts.cc (vect_is_simple_use): Likewise. > (vectorizable_condition): Assert the COND_EXPR condition isn't > COMPARISON_CLASS_P. > --- > gcc/tree-vect-slp.cc | 2 +- > gcc/tree-vect-stmts.cc | 8 ++------ > 2 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc > index b192328e3eb..2e98a943e06 100644 > --- a/gcc/tree-vect-slp.cc > +++ b/gcc/tree-vect-slp.cc > @@ -549,7 +549,7 @@ vect_get_operand_map (const gimple *stmt, bool > gather_scatter_p = false, > { > if (gimple_assign_rhs_code (assign) == COND_EXPR > && COMPARISON_CLASS_P (gimple_assign_rhs1 (assign))) > - return cond_expr_maps[swap]; > + gcc_unreachable ();
This seems to have been the only use of cond_expr_maps which we still have, however. Should the array be removed too? Thanks, Martin