[llvm] e1afd06 - [NFC] Use TypeSize for comparison in EVT::isExtendedXBitVector functions (#73131)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 23 07:44:19 PST 2023
Author: Maciej Gabka
Date: 2023-11-23T15:44:14Z
New Revision: e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
URL: https://github.com/llvm/llvm-project/commit/e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
DIFF: https://github.com/llvm/llvm-project/commit/e1afd0636366fe8789dc32bf5d0ca1eddc4d237b.diff
LOG: [NFC] Use TypeSize for comparison in EVT::isExtendedXBitVector functions (#73131)
The functions should not compare results of
getExtendedSizeInBits(), i.e TypeSize variables with plain integer values,
but create a fixed TypeSize object so the correct operator can be used.
Added:
Modified:
llvm/lib/CodeGen/ValueTypes.cpp
llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/ValueTypes.cpp b/llvm/lib/CodeGen/ValueTypes.cpp
index 30507ffea932525..ba3b9e00e34e94e 100644
--- a/llvm/lib/CodeGen/ValueTypes.cpp
+++ b/llvm/lib/CodeGen/ValueTypes.cpp
@@ -79,35 +79,43 @@ bool EVT::isExtendedVector() const {
}
bool EVT::isExtended16BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 16;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(16);
}
bool EVT::isExtended32BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 32;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(32);
}
bool EVT::isExtended64BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 64;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(64);
}
bool EVT::isExtended128BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 128;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(128);
}
bool EVT::isExtended256BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 256;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(256);
}
bool EVT::isExtended512BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 512;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(512);
}
bool EVT::isExtended1024BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 1024;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(1024);
}
bool EVT::isExtended2048BitVector() const {
- return isExtendedVector() && getExtendedSizeInBits() == 2048;
+ return isExtendedVector() &&
+ getExtendedSizeInBits() == TypeSize::getFixed(2048);
}
bool EVT::isExtendedFixedLengthVector() const {
diff --git a/llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp b/llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
index 424abb03dc129c9..ffe457ba3175da8 100644
--- a/llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
+++ b/llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
@@ -135,6 +135,16 @@ TEST(ScalableVectorMVTsTest, SizeQueries) {
EVT v2i64 = EVT::getVectorVT(Ctx, MVT::i64, 2);
EVT v2f64 = EVT::getVectorVT(Ctx, MVT::f64, 2);
+ EVT nxv5i32 = EVT::getVectorVT(Ctx, MVT::i32, 5, /*Scalable=*/true);
+ ASSERT_FALSE(nxv5i32.is16BitVector());
+ ASSERT_FALSE(nxv5i32.is32BitVector());
+ ASSERT_FALSE(nxv5i32.is64BitVector());
+ ASSERT_FALSE(nxv5i32.is128BitVector());
+ ASSERT_FALSE(nxv5i32.is256BitVector());
+ ASSERT_FALSE(nxv5i32.is512BitVector());
+ ASSERT_FALSE(nxv5i32.is1024BitVector());
+ ASSERT_FALSE(nxv5i32.is2048BitVector());
+
// Check equivalence and ordering on scalable types.
EXPECT_EQ(nxv4i32.getSizeInBits(), nxv2i64.getSizeInBits());
EXPECT_EQ(nxv2f64.getSizeInBits(), nxv2i64.getSizeInBits());
More information about the llvm-commits
mailing list