aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorJay Foad <jay.foad@amd.com>2021-01-13 11:25:35 +0000
committerJay Foad <jay.foad@amd.com>2021-01-14 14:02:43 +0000
commit517196e569129677be32d6ebcfa57bac552268a4 (patch)
tree6eebcbb29e5b5f36ca770f438c7a2bf0476a0f9b /llvm/lib/Analysis/ValueTracking.cpp
parenta1cba5b7a1fb09d2d4082967e2466a5a89ed698a (diff)
downloadllvm-517196e569129677be32d6ebcfa57bac552268a4.zip
llvm-517196e569129677be32d6ebcfa57bac552268a4.tar.gz
llvm-517196e569129677be32d6ebcfa57bac552268a4.tar.bz2
[Analysis,CodeGen] Make use of KnownBits::makeConstant. NFC.
Differential Revision: https://reviews.llvm.org/D94588
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index b138caa..61c992d 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -1337,8 +1337,8 @@ static void computeKnownBitsFromOperator(const Operator *I,
AccConstIndices += IndexConst.sextOrTrunc(BitWidth);
continue;
} else {
- ScalingFactor.Zero = ~TypeSizeInBytes;
- ScalingFactor.One = TypeSizeInBytes;
+ ScalingFactor =
+ KnownBits::makeConstant(APInt(IndexBitWidth, TypeSizeInBytes));
}
IndexBits = KnownBits::computeForMul(IndexBits, ScalingFactor);
@@ -1353,9 +1353,7 @@ static void computeKnownBitsFromOperator(const Operator *I,
/*Add=*/true, /*NSW=*/false, Known, IndexBits);
}
if (!Known.isUnknown() && !AccConstIndices.isNullValue()) {
- KnownBits Index(BitWidth);
- Index.Zero = ~AccConstIndices;
- Index.One = AccConstIndices;
+ KnownBits Index = KnownBits::makeConstant(AccConstIndices);
Known = KnownBits::computeForAddSub(
/*Add=*/true, /*NSW=*/false, Known, Index);
}
@@ -1818,8 +1816,7 @@ void computeKnownBits(const Value *V, const APInt &DemandedElts,
const APInt *C;
if (match(V, m_APInt(C))) {
// We know all of the bits for a scalar constant or a splat vector constant!
- Known.One = *C;
- Known.Zero = ~Known.One;
+ Known = KnownBits::makeConstant(*C);
return;
}
// Null and aggregate-zero are all-zeros.