]> git.ipfire.org Git - thirdparty/gcc.git/commit
middle-end: rejects loops with nonlinear inductions and early breaks [PR113163]
authorTamar Christina <tamar.christina@arm.com>
Tue, 9 Jan 2024 11:16:16 +0000 (11:16 +0000)
committerTamar Christina <tamar.christina@arm.com>
Tue, 9 Jan 2024 11:16:16 +0000 (11:16 +0000)
commitcbf569486b2decbde0308f9f4d0f0837e4cfefd9
tree5839d555eb053f0538adcb626c66a73f8ba358db
parent468cec536322f98f2d473adbd6a8e88c625cfcdb
middle-end: rejects loops with nonlinear inductions and early breaks [PR113163]

We can't support nonlinear inductions other than neg when vectorizing
early breaks and iteration count is known.

For early break we currently require a peeled epilog but in these cases
we can't compute the remaining values.

gcc/ChangeLog:

PR middle-end/113163
* tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p):
Reject non-linear inductions that aren't supported.

gcc/testsuite/ChangeLog:

PR middle-end/113163
* gcc.target/gcn/pr113163.c: New test.
gcc/testsuite/gcc.target/gcn/pr113163.c [new file with mode: 0644]
gcc/tree-vect-loop-manip.cc