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.