Make cltz and cttz zero undef when the operand cannot be zero in InstCombine
authorAmaury Sechet <deadalnix@gmail.com>
Thu, 18 Aug 2016 20:43:50 +0000 (20:43 +0000)
committerAmaury Sechet <deadalnix@gmail.com>
Thu, 18 Aug 2016 20:43:50 +0000 (20:43 +0000)
commit763c59dc9aa22f416bea70156dca89070936b2a2
treefc716cef6b0ba0d36cc37e79bc610d762920e86e
parentcb20a09f54efc4dc90852365f4301785ffab4c56
Make cltz and cttz zero undef when the operand cannot be zero in InstCombine

Summary: Also add popcount(n) == bitsize(n)  -> n == -1 transformation.

Reviewers: majnemer, spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D23134

llvm-svn: 279141
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/test/Transforms/InstCombine/intrinsics.ll