aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-09-20 13:35:49 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2024-09-20 14:46:12 +0200
commit4eba48a684b1a1f77aa18b29a1ae58dbdc842b5b (patch)
treee48b8142007c15ccd50e786a4618a0de23858247
parent09a52cf036ba8f2fa7b60b18ba58ca17ffa1b146 (diff)
downloadgcc-4eba48a684b1a1f77aa18b29a1ae58dbdc842b5b.zip
gcc-4eba48a684b1a1f77aa18b29a1ae58dbdc842b5b.tar.gz
gcc-4eba48a684b1a1f77aa18b29a1ae58dbdc842b5b.tar.bz2
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.
-rw-r--r--gcc/tree-vect-slp.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index c8af4d3..9c817de 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