From cef29936c6b6773bff1939f94fb629760725bd82 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 24 Sep 2024 13:47:04 +0200 Subject: [PATCH] tree-optimization/116819 - SLP with !STMT_VINFO_RELEVANT representative Under some circumstances we can end up picking a not relevant stmt as representative of a SLP node. Instead of skipping stmt analysis and declaring success we have to either ignore relevancy throughout the code base or fail SLP operation verification. The following does the latter. PR tree-optimization/116819 * tree-vect-stmts.cc (vect_analyze_stmt): When the SLP representative isn't relevant signal failure instead of success. --- gcc/tree-vect-stmts.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index c654e01a540..1b351c5c66e 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -13295,6 +13295,12 @@ vect_analyze_stmt (vec_info *vinfo, if (dump_enabled_p ()) dump_printf_loc (MSG_NOTE, vect_location, "irrelevant.\n"); + if (node) + return opt_result::failure_at (stmt_info->stmt, + "not vectorized:" + " irrelevant stmt as SLP node %p " + "representative.\n", + (void *)node); return opt_result::success (); } } -- 2.47.2