From: Richard Biener Date: Fri, 3 Nov 2023 10:31:37 +0000 (+0100) Subject: tree-optimization/112366 - remove assert for failed live lane code gen X-Git-Tag: basepoints/gcc-15~5039 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c0cf9b78573d3d353f22e5dd1c32fecdbca703b8;p=thirdparty%2Fgcc.git tree-optimization/112366 - remove assert for failed live lane code gen The following removes a bogus assert constraining the uses that could appear when a built from scalar defs SLP node constrains code generation in a way so earlier uses of the vector CTOR components fail to get vectorized. We can't really constrain the operation such use appears in. PR tree-optimization/112366 * tree-vect-loop.cc (vectorizable_live_operation): Remove assert. --- diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 3b28c826b3b9..2a43176bcfd0 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -10778,7 +10778,7 @@ vectorizable_live_operation (vec_info *vinfo, stmt_vec_info stmt_info, || !PURE_SLP_STMT (vect_stmt_to_vectorize (use_stmt_info)))) { /* ??? This can happen when the live lane ends up being - used in a vector construction code-generated by an + rooted in a vector construction code-generated by an external SLP node (and code-generation for that already happened). See gcc.dg/vect/bb-slp-47.c. Doing this is what would happen if that vector CTOR @@ -10791,11 +10791,6 @@ vectorizable_live_operation (vec_info *vinfo, stmt_vec_info stmt_info, && !vect_stmt_dominates_stmt_p (SSA_NAME_DEF_STMT (new_tree), use_stmt)) { - enum tree_code code = gimple_assign_rhs_code (use_stmt); - gcc_checking_assert (code == SSA_NAME - || code == CONSTRUCTOR - || code == VIEW_CONVERT_EXPR - || CONVERT_EXPR_CODE_P (code)); if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, "Using original scalar computation for "