aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-10-21 16:35:41 +0000
committerCraig Topper <craig.topper@intel.com>2017-10-21 16:35:41 +0000
commit8e8b6efdc84cf216e2c93bffd26a6a0d291d53e8 (patch)
tree7dc40a57522c147407a17feb0e2c0a2ed42cf8ac /llvm/lib/Analysis/ValueTracking.cpp
parentb98ee58511415ffce8400a9caf5ac89bcc5adb35 (diff)
downloadllvm-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.cpp6
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;