https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114635
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think
if (safelen)
{
poly_uint64 val;
safelen = OMP_CLAUSE_SAFELEN_EXPR (safelen);
if (!poly_int_tree_p (safelen, &val))
safelen_int = 0;
else
safelen_int = MIN (constant_lower_bound (val), INT_MAX);
should simply become
safelen_int = constant_upper_bound_with_limit (val, INT_MAX);
? Usually targets do have a limit on the actual length but I see
constant_upper_bound_with_limit doesn't query such. But it would
be a more appropriate way to say there might be an actual target limit here?