xor
disjoint or
isKnownNonZero
Handles cases like `X ^ Y == X` / `X disjoint| Y == X`. Both of these cases have identical logic to the existing `add` case, so just converting the `add` code to a more general helper. Proofs: https://alive2.llvm.org/ce/z/Htm7pe Closes #87706
m_ElementWiseBitCast
m_c_*
u/sdiv exact (mul nsw/nuw X, C), C --> X
cannotBeOrderedLessThanZeroImpl
computeKnownFPClass
(fmul -x, +/-0)
-/+0
isTruePredicate
insertelement
simplifyAndOrOfFCmps
select cond, undef, val
val
val = poison
cond = poison