Teach ScalarEvolution to exploit min and max expressions when proving isKnownPredicate.
The motivation for this change is to optimize away checks in loops like this:
limit = min(t, len) for (i = 0 to limit) if (i >= len || i < 0) throw_array_of_of_bounds(); a[i] = ...
insert a comma: "computes ~A, assign"