[PATCH] More consistently split SLP groups

Richard Biener rguenther@suse.de
Mon Oct 12 07:34:15 GMT 2020


This appropriately makes matches all true after successful SLP discovery
to reliably succeed splitting.  We were picking up an eventual all
false built-up from scalars state in some cases.

Bootstrap / regtest in progress on x86_64-unknown-linux-gnu.

2020-10-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_analyze_slp_instance): Set matches to true
	after successful discovery but forced split.
---
 gcc/tree-vect-slp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 495fb970e24..dd2042a4db5 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -2283,7 +2283,7 @@ vect_analyze_slp_instance (vec_info *vinfo,
 	    dump_printf_loc (MSG_NOTE, vect_location,
 			     "SLP discovery succeeded but node needs "
 			     "splitting\n");
-	  matches[0] = true;
+	  memset (matches, true, group_size);
 	  matches[group_size / const_max_nunits * const_max_nunits] = false;
 	  vect_free_slp_tree (node);
 	}
-- 
2.26.2


More information about the Gcc-patches mailing list