aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/APInt.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-06-01 11:26:39 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-06-01 11:26:39 +0000
commit8e851920c0dc16d10db3c4330152a27787aba785 (patch)
tree02e9f658bec510c5b8aeaa87083e8a53419765a6 /lib/Support/APInt.cpp
parent77e5c2a1791b4f0338820e377bd255858bde64d5 (diff)
downloadexternal_llvm-8e851920c0dc16d10db3c4330152a27787aba785.zip
external_llvm-8e851920c0dc16d10db3c4330152a27787aba785.tar.gz
external_llvm-8e851920c0dc16d10db3c4330152a27787aba785.tar.bz2
APInt: Simplify code. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183073 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/APInt.cpp')
-rw-r--r--lib/Support/APInt.cpp38
1 files changed, 2 insertions, 36 deletions
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 108675d..89f96bd 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -2304,24 +2304,7 @@ namespace {
static unsigned int
partMSB(integerPart value)
{
- unsigned int n, msb;
-
- if (value == 0)
- return -1U;
-
- n = integerPartWidth / 2;
-
- msb = 0;
- do {
- if (value >> n) {
- value >>= n;
- msb += n;
- }
-
- n >>= 1;
- } while (n);
-
- return msb;
+ return findLastSet(value, ZB_Max);
}
/* Returns the bit number of the least significant set bit of a
@@ -2329,24 +2312,7 @@ namespace {
static unsigned int
partLSB(integerPart value)
{
- unsigned int n, lsb;
-
- if (value == 0)
- return -1U;
-
- lsb = integerPartWidth - 1;
- n = integerPartWidth / 2;
-
- do {
- if (value << n) {
- value <<= n;
- lsb -= n;
- }
-
- n >>= 1;
- } while (n);
-
- return lsb;
+ return findFirstSet(value, ZB_Max);
}
}