llvm-project
4ef22fce - [InstCombine] Simplify select if it combinated and/or/xor (#73362)

Commit
1 year ago
[InstCombine] Simplify select if it combinated and/or/xor (#73362) `and/or/xor` operations can each be changed to sum of logical operations including operators other than themselves. `x&y -> (x|y) ^ (x^y)` `x|y -> (x&y) | (x^y)` `x^y -> (x|y) ^ (x&y)` if left of condition of `SelectInst` is `and/or/xor` logical operation and right is equal to `0, -1`, or a `constant`, and if `TrueVal` consist of `and/or/xor` logical operation then we can optimize this case. This patch implements this combination. Proof: https://alive2.llvm.org/ce/z/WW8iRR Fixes https://github.com/llvm/llvm-project/issues/71792.
Author
Parents
Loading