This patch adds support for hoisting the division and maybe the
remainder for control flow graphs like this.
PredBB | \ | Rem | / Div
If we have DivRem we'll hoist both to PredBB. If not we'll just
hoist Div and expand Rem using the Div.
This improves our codegen for something like this
__uint128_t udivmodti4(__uint128_t dividend, __uint128_t divisor, __uint128_t *remainder) { if (remainder != 0) *remainder = dividend % divisor; return dividend / divisor; }
clang-format not found in user's PATH; not linting file.