https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #8 from Richard Biener ---
The vectorizer sets loop constraints, looks like we forget to clear it in the
versioning code. I'll have a look next week unless somebody beats me to it.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #7 from Jiu Fu Guo ---
When generates doloop.xxx in ivopts, gimple looks like:
[local count: 21023864]:
_38 = val_4(D) - start_3(D);
_29 = _38 / 16;
doloop.15_35 = _29 + 1;
[local count: 191126041]:
# cnt_17 = PHI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #6 from Richard Biener ---
Hmm, the support is in GCC 9 as well and the niter analysis is the same so
there's sth else going on. Btw, the assumptions are
Analyzing # of iterations of loop 1
exit condition [start_3(D) + 16, + ,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #5 from Martin Liška ---
Likely started with r10-1057-g2778a719bebf7a32.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #4 from Richard Biener ---
The trigger is the vectorizer versioning on niter->assumptions and that being
wrong. That feature is new in GCC 10 thus GCC 9 appears to be fine (but likely
niter->assumptions is still wrong).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
Richard Biener changed:
What|Removed |Added
Last reconfirmed||2021-07-02
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
--- Comment #2 from Kewen Lin ---
(In reply to Kewen Lin from comment #1)
> Hi Jeff, what's the option and stanza?
The reason why I asked is that I can't simply reproduce it locally at O2, with
C compiler it likely runs forever. I guess what
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101291
Kewen Lin changed:
What|Removed |Added
CC||linkw at gcc dot gnu.org
--- Comment #1