diff options
author | Craig Topper <craig.topper@intel.com> | 2017-10-21 16:35:41 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2017-10-21 16:35:41 +0000 |
commit | 8e8b6efdc84cf216e2c93bffd26a6a0d291d53e8 (patch) | |
tree | 7dc40a57522c147407a17feb0e2c0a2ed42cf8ac /llvm/lib/Analysis/ValueTracking.cpp | |
parent | b98ee58511415ffce8400a9caf5ac89bcc5adb35 (diff) | |
download | llvm-8e8b6efdc84cf216e2c93bffd26a6a0d291d53e8.zip llvm-8e8b6efdc84cf216e2c93bffd26a6a0d291d53e8.tar.gz llvm-8e8b6efdc84cf216e2c93bffd26a6a0d291d53e8.tar.bz2 |
[ValueTracking] Remove unnecessary temporary APInt from computeNumSignBitsVectorConstant.
We can just use getNumSignBits instead of inverting negative numbers.
llvm-svn: 316266
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r-- | llvm/lib/Analysis/ValueTracking.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp index 244bc7d..182377d 100644 --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -2097,11 +2097,7 @@ static unsigned computeNumSignBitsVectorConstant(const Value *V, if (!Elt) return 0; - // If the sign bit is 1, flip the bits, so we always count leading zeros. - APInt EltVal = Elt->getValue(); - if (EltVal.isNegative()) - EltVal = ~EltVal; - MinSignBits = std::min(MinSignBits, EltVal.countLeadingZeros()); + MinSignBits = std::min(MinSignBits, Elt->getValue().getNumSignBits()); } return MinSignBits; |