OSDN Git Service

Transform (A == C1 || A == C2) into (A & ~(C1 ^ C2)) == C1
authorJakub Staszak <kubastaszak@gmail.com>
Mon, 31 Dec 2012 00:34:55 +0000 (00:34 +0000)
committerJakub Staszak <kubastaszak@gmail.com>
Mon, 31 Dec 2012 00:34:55 +0000 (00:34 +0000)
commitd60b8ac64fa161646d50c49d6171cb49e6a2c7ee
tree96b9e6304e1c6187584c90a8124206f1608929e0
parent6eb7a4270bc411342f459bc574f8fe4ef5eeff28
Transform (A == C1 || A == C2) into (A & ~(C1 ^ C2)) == C1
if C1 and C2 differ only with one bit.
Fixes PR14708.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171270 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
test/Transforms/InstCombine/icmp.ll