[gcc r15-1670] tree-optimization/115652 - amend last fix
Richard Biener
rguenth@gcc.gnu.org
Thu Jun 27 05:53:48 GMT 2024
https://gcc.gnu.org/g:c7cb0dd94589ab501bca27f93641b4074e5a2e99
commit r15-1670-gc7cb0dd94589ab501bca27f93641b4074e5a2e99
Author: Richard Biener <rguenther@suse.de>
Date: Wed Jun 26 19:23:26 2024 +0200
tree-optimization/115652 - amend last fix
The previous fix breaks in the degenerate case when the discovered
last_stmt is equal to the first stmt in the block since then we
undo a required stmt advancement.
PR tree-optimization/115652
* tree-vect-slp.cc (vect_schedule_slp_node): Only insert
at the start of the block if that strictly dominates
the discovered dependent stmt.
Diff:
---
gcc/tree-vect-slp.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 1f5b3fccf41..1252b613125 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -9747,7 +9747,8 @@ vect_schedule_slp_node (vec_info *vinfo,
{
gimple_stmt_iterator si2
= gsi_after_labels (LOOP_VINFO_LOOP (loop_vinfo)->header);
- if (vect_stmt_dominates_stmt_p (last_stmt, *si2))
+ if (last_stmt != *si2
+ && vect_stmt_dominates_stmt_p (last_stmt, *si2))
si = si2;
}
}
More information about the Gcc-cvs
mailing list