diff options
author | Tamar Christina <tamar.christina@arm.com> | 2024-01-24 07:37:17 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2024-01-24 07:37:17 +0000 |
commit | 72429448fd16733f876b282bb37a0653049c446d (patch) | |
tree | fe5b20045fcee1c986a34a8ff9c2e47f0689e817 /gcc/cgraph.cc | |
parent | d89537a1417954fad40a5c97590fbc61e6400796 (diff) | |
download | gcc-72429448fd16733f876b282bb37a0653049c446d.zip gcc-72429448fd16733f876b282bb37a0653049c446d.tar.gz gcc-72429448fd16733f876b282bb37a0653049c446d.tar.bz2 |
middle-end: fix epilog reductions when vector iters peeled [PR113364]
This fixes a bug where vect_create_epilog_for_reduction does not handle the
case where all exits are early exits. In this case we should do like induction
handling code does and not have a main exit.
This shows that some new miscompiles are happening (stage3 is likely miscompiled)
but that's unrelated to this patch and I'll look at it next.
gcc/ChangeLog:
PR tree-optimization/113364
* tree-vect-loop.cc (vect_create_epilog_for_reduction): If all exits all
early exits then we must reduce from the first offset for all of them.
gcc/testsuite/ChangeLog:
PR tree-optimization/113364
* gcc.dg/vect/vect-early-break_107-pr113364.c: New test.
Diffstat (limited to 'gcc/cgraph.cc')
0 files changed, 0 insertions, 0 deletions