Depends on D159379
((A & B) ^ A) | ((A & B) ^ B) -> A ^ B
(A ^ (A & B)) | (B ^ (A & B)) -> A ^ B
((A & B) ^ B) | ((A & B) ^ A) -> A ^ B
(B ^ (A & B)) | (A ^ (A & B)) -> A ^ B
Baseline tests: https://reviews.llvm.org/D159379
Use lambda to avoid code duplication
Reflect changes to tests
Remove "; Result != nullptr". Not needed.
Remove unnecessary nullptr checks
Can someone land the baseline tests patch and this patch for me? I do not have commit access.
I can help land this patch and the baseline test.
Just give it more hours in case other people catch anything different.
Why does this transform have a one-use limitation?
@nikic see https://github.com/llvm/llvm-project/pull/66419