InstCombine converts conditions like (x < C) && (y < C) into (x | y) < C. This teaches LVI to recognize that in this case, it can infer either x < C or y < C along the edge.
This fixes the issue reported at https://github.com/rust-lang/rust/issues/73827.
These transforms only work when C is a low-bit mask or power-of-2 (depending on predicate)?
https://alive2.llvm.org/ce/z/pmF7PF