aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-prefetch.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-03-03 13:21:53 +0100
committerRichard Biener <rguenth@gcc.gnu.org>2025-03-03 14:43:14 +0100
commit758de6263dfc7ba8701965fa468691ac23cb7eb5 (patch)
tree5b2fc9f4a8797046f0461be1233b6dce22263cfa /gcc/tree-ssa-loop-prefetch.cc
parentf22e89167b3abfbf6d67f42fc4d689d8ffdc1810 (diff)
downloadgcc-758de6263dfc7ba8701965fa468691ac23cb7eb5.zip
gcc-758de6263dfc7ba8701965fa468691ac23cb7eb5.tar.gz
gcc-758de6263dfc7ba8701965fa468691ac23cb7eb5.tar.bz2
tree-optimization/119057 - bogus double reduction detection
We are detecting a cycle as double reduction where the inner loop cycle has extra out-of-loop uses. This clashes at least with assumptions from the SLP discovery code which says the cycle isn't reachable from another SLP instance. It also was not intended to support this case, in fact with GCC 14 we seem to generate wrong code here. PR tree-optimization/119057 * tree-vect-loop.cc (check_reduction_path): Add argument specifying whether we're analyzing the inner loop of a double reduction. Do not allow extra uses outside of the double reduction cycle in this case. (vect_is_simple_reduction): Adjust. * gcc.dg/vect/pr119057.c: New testcase.
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.cc')
0 files changed, 0 insertions, 0 deletions