This patch adds transformation select (X == C), (icmp X Y), false ->
select (X == C), (icmp C Y), false.
After the select i1 -> and/or transformation is removed, this optimization
should be explicitly added as a select transformation.
This pattern seems quite common in Transforms/InstCombine.
Alive2 proof:
And: https://alive2.llvm.org/ce/z/dVoKnd
Or: https://alive2.llvm.org/ce/z/3hb9qS
clang-format not found in user's PATH; not linting file.