https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114635
--- Comment #15 from rguenther at suse dot de <rguenther at suse dot de> --- On Mon, 15 Apr 2024, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114635 > > --- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > (In reply to kugan from comment #12) > > > Why? > > > Then it just is INT_MAX value, which is a magic value that says that it is > > > infinity. > > > No need to say it is a poly_int infinity. > > > > For this test case, omp_max_vf gets [16, 16] from the backend. This then > > becomes 16. If we keep it as poly_int, it would pass maybe_lt (max_vf, > > min_vf)) after applying safelen? > > No. You should just special case loop->safelen == INT_MAX to mean infinity in > the comparisons where it currently doesn't work as infinity. But then an actual safelen(INT_MAX) would need to be adjusted. Maybe using a poly-int safelen internally is cleaner.