InstCombine: Simplify if(x!=0 && x!=-1).
authorJim Grosbach <grosbach@apple.com>
Fri, 16 Aug 2013 00:15:20 +0000 (00:15 +0000)
committerJim Grosbach <grosbach@apple.com>
Fri, 16 Aug 2013 00:15:20 +0000 (00:15 +0000)
commit4658ce9c1f023ca8198add9eabc9ec466d23c8cb
tree26c37ce3be02aae294fa95469a2dc3edc84318a1
parentda44b4f68bcf2adcb74214670a266b43a1a6888f
InstCombine: Simplify if(x!=0 && x!=-1).

When both constants are positive or both constants are negative,
InstCombine already simplifies comparisons like this, but when
it's exactly zero and -1, the operand sorting ends up reversed
and the pattern fails to match. Handle that special case.

Follow up for rdar://14689217

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