From: Richard Biener Date: Fri, 20 Sep 2024 11:35:49 +0000 (+0200) Subject: Handle patterns as SLP roots of only live stmts X-Git-Tag: basepoints/gcc-16~5819 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4eba48a684b1a1f77aa18b29a1ae58dbdc842b5b;p=thirdparty%2Fgcc.git Handle patterns as SLP roots of only live stmts gcc.dg/vect/vect-live-2.c shows it's important to handle live but otherwise unused pattern stmts. * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when discovering from only-live roots. --- diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc index c8af4d320eb..9c817de18bd 100644 --- a/gcc/tree-vect-slp.cc +++ b/gcc/tree-vect-slp.cc @@ -4723,6 +4723,7 @@ vect_analyze_slp (vec_info *vinfo, unsigned max_tree_size, if (TREE_CODE (def) == SSA_NAME && !virtual_operand_p (def) && (stmt_info = loop_vinfo->lookup_def (def)) + && ((stmt_info = vect_stmt_to_vectorize (stmt_info)), true) && STMT_VINFO_RELEVANT (stmt_info) == vect_used_only_live && STMT_VINFO_LIVE_P (stmt_info) && (STMT_VINFO_DEF_TYPE (stmt_info) == vect_induction_def