I'm not 100% sure if this is crazy or not, but it doesn't even seem to break any existing test cases.
We evaluate all integer expressions for overflows and diagnose them if possible. However, in the case of a constexpr function, we will evaluate the function (and all expressions it contains) anyway after parsing it, which will check for overflow again, so the previous checking is unnecessary.
I checked that not calling CheckForIntOverflow() at all breaks tests (it does).