[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