diff options
author | Richard Biener <rguenther@suse.de> | 2022-10-11 11:34:55 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-10-11 13:15:34 +0200 |
commit | ee467644c53ee2f7d633a8e1f53603feafab4351 (patch) | |
tree | c74d7d3d017dd4e1e182e5dfd43e91bb490ef131 /libiberty | |
parent | bd9a05594d227cde79a67dc715bd9d82e9c464e9 (diff) | |
download | gcc-ee467644c53ee2f7d633a8e1f53603feafab4351.tar.gz |
tree-optimization/107212 - SLP reduction of reduction paths
The following fixes an issue with how we handle epilogue generation
for SLP reductions of reduction paths where the actual live lanes
are not "canonical". We need to make sure to identify all live
lanes as reductions and thus have to iterate over all participating
SLP lanes when walking the reduction SSA use-def chain. Also the
previous attempt likely to mitigate such issue in
vectorizable_live_operation is misguided and has to be removed.
PR tree-optimization/107212
* tree-vect-loop.cc (vectorizable_reduction): Make sure to
set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
reduction.
(vectorizable_live_operation): Do not pun to the SLP
node representative for reduction epilogue generation.
* gcc.dg/vect/pr107212-1.c: New testcase.
* gcc.dg/vect/pr107212-2.c: Likewise.
Diffstat (limited to 'libiberty')
0 files changed, 0 insertions, 0 deletions