tree-optimization/105226 - avoid splitting abnormal edges
authorRichard Biener <rguenther@suse.de>
Tue, 12 Apr 2022 07:40:15 +0000 (09:40 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 12 Apr 2022 08:53:46 +0000 (10:53 +0200)
commit62d5bb0f35fb6ec373eaac942755585a633528a0
treea24dfa5a8db17ddaef4fabb55f3a7884fa942b58
parent152f243fdacf8ad97df3d4ae5b51b792796e6740
tree-optimization/105226 - avoid splitting abnormal edges

Vectorizer loop versioning tries to version outer loops if possible
but fails to check whether it can actually split the single exit
edge as it will do.

2022-04-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/105226
* tree-vect-loop-manip.cc (vect_loop_versioning): Verify
we can split the exit of an outer loop we choose to version.

* gcc.dg/pr105226.c: New testcase.
gcc/testsuite/gcc.dg/pr105226.c [new file with mode: 0644]
gcc/tree-vect-loop-manip.cc