This adds the following combines:
x = ... 0 or 1 c = icmp eq x, 1 -> c = x
and
x = ... 0 or 1 c = icmp ne x, 0 -> c = x
When the target's true value for the relevant types is 1.
This showed up in the following situation:
https://godbolt.org/z/M5jKexWTW
SDAG currently supports the ne case, but not the eq case. This can probably be further generalized, but I don't feel like thinking that hard right now.
This gives some minor code size improvements across the board on CTMark at -Os for AArch64. (0.1% for 7zip and pairlocalalign in particular.)
s/const auto/unsigned