Add instcombine patterns for the following transformations:
authorChad Rosier <mcrosier@apple.com>
Thu, 26 Apr 2012 23:29:14 +0000 (23:29 +0000)
committerChad Rosier <mcrosier@apple.com>
Thu, 26 Apr 2012 23:29:14 +0000 (23:29 +0000)
commitc1fc5e4464788be072509eab7d66a73dc7a5f275
tree96ae0b82dcbddacb15088b53743e7ad3e79277ce
parent0d5c32327a5a1ee12a60cfd0842dbd5c21fe8d91
Add instcombine patterns for the following transformations:

 (x & y) | (x ^ y) -> x | y
 (x & y) + (x ^ y) -> x | y

Patch by Manman Ren.
rdar://10770603

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155674 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAddSub.cpp
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
test/Transforms/InstCombine/and-xor-or.ll [new file with mode: 0644]