This patch adds an enum OverflowCheckFlavor and a function
OptimizeOverflowCheck. This will allow InstCombine to optimize
overflow checks without directly introducing an intermediate call to the
llvm.$op.with.overflow instrinsics.
This specific change is a refactoring and does not intend to change
behavior.
Maybe just OCF_INVALID.
Stick with the "OCF" prefix, and "MAX" can be confused with an operation.