Simplify (A & ~B) in icmp if A is a power of 2
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 12 Apr 2013 17:25:07 +0000 (17:25 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 12 Apr 2013 17:25:07 +0000 (17:25 +0000)
commitfb1cd69b9022cb48dc3b054656cd015474d4f229
tree98197c0389d99618e0b7818bf5bac0d8d24c3800
parentdda4b6bf25dbdb3051513eb59885b3f3de8fe3b0
Simplify (A & ~B) in icmp if A is a power of 2

The transform will execute like so:
(A & ~B) == 0 --> (A & B) != 0
(A & ~B) != 0 --> (A & B) == 0

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