aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-10-12 09:31:16 +0200
committerRichard Biener <rguenther@suse.de>2020-10-12 10:50:09 +0200
commit6d42d1e223deaf866062e11bd51ee99441ad8871 (patch)
tree7c7281b6d1c1dbdab50eb4dad84c369b3c702969 /gcc
parent63ad60026e8cf4ccd7543175b38db46160517be7 (diff)
downloadgcc-6d42d1e223deaf866062e11bd51ee99441ad8871.zip
gcc-6d42d1e223deaf866062e11bd51ee99441ad8871.tar.gz
gcc-6d42d1e223deaf866062e11bd51ee99441ad8871.tar.bz2
More consistently split SLP groups
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. 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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree-vect-slp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 495fb97..dd2042a 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);
}