[gcc r15-3831] tree-optimization/116819 - SLP with !STMT_VINFO_RELEVANT representative
Richard Biener
rguenth@gcc.gnu.org
Tue Sep 24 13:04:48 GMT 2024
https://gcc.gnu.org/g:cef29936c6b6773bff1939f94fb629760725bd82
commit r15-3831-gcef29936c6b6773bff1939f94fb629760725bd82
Author: Richard Biener <rguenther@suse.de>
Date: Tue Sep 24 13:47:04 2024 +0200
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.
Diff:
---
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 c654e01a540f..1b351c5c66ec 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 ();
}
}
More information about the Gcc-cvs
mailing list