Fix llvm::ComputeNumSignBits with some operations and llvm.assume
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Wed, 25 Jul 2018 16:39:24 +0000 (16:39 +0000)
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Wed, 25 Jul 2018 16:39:24 +0000 (16:39 +0000)
commitb8269a9589b91a9c8d1620b1a760e03efa8a04a0
treecf7c3de41e4d62040dc60b754fb9e14633cfe5f0
parentda3c4fb5fec193366a442bf6240ace83e7541e66
Fix llvm::ComputeNumSignBits with some operations and llvm.assume

Currently ComputeNumSignBits does early exit while processing some
of the operations (add, sub, mul, and select). This prevents the
function from using AssumptionCacheTracker if passed.

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

llvm-svn: 337936
llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll [new file with mode: 0644]