[ValueTracking] Teach isImpliedCondition a new bitwise trick
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 10 Nov 2015 23:56:20 +0000 (23:56 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 10 Nov 2015 23:56:20 +0000 (23:56 +0000)
commit662c69d8c2803055253639f6f1f5076330942958
tree81d02bb7a1ccf31bac8c29719d2295c5e650793e
parentee8bc9ac4f4aa7f515b949aa3bea0445cadd23e4
[ValueTracking] Teach isImpliedCondition a new bitwise trick

Summary:
This change teaches isImpliedCondition to prove things like

  (A | 15) < L  ==>  (A | 14) < L

if the low 4 bits of A are known to be zero.

Depends on D14391

Reviewers: majnemer, reames, hfinkel

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D14392

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252673 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ValueTracking.cpp
test/Transforms/InstSimplify/implies.ll