diff mbox series

RISC-V: tree-optimization/115652 - amend last fix

Message ID 20240626172649.28A3713AAD@imap1.dmz-prg2.suse.org
State New
Headers show
Series RISC-V: tree-optimization/115652 - amend last fix | expand

Commit Message

Richard Biener June 26, 2024, 5:26 p.m. UTC
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.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

	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.
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 896ea6dc14c..ce214dd652e 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -9752,7 +9752,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;
 	      }
 	}