diff options
author | Richard Biener <rguenther@suse.de> | 2020-10-12 09:31:16 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-10-12 10:50:09 +0200 |
commit | 6d42d1e223deaf866062e11bd51ee99441ad8871 (patch) | |
tree | 7c7281b6d1c1dbdab50eb4dad84c369b3c702969 /gcc | |
parent | 63ad60026e8cf4ccd7543175b38db46160517be7 (diff) | |
download | gcc-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.c | 2 |
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); } |