[SVE] delete VectorType::getNumElements()
authorChristopher Tetreault <ctetreau@quicinc.com>
Fri, 29 Jan 2021 20:52:39 +0000 (12:52 -0800)
committerChristopher Tetreault <ctetreau@quicinc.com>
Fri, 29 Jan 2021 21:46:54 +0000 (13:46 -0800)
The previously agreed-upon deprecation period for
VectorType::getNumElements() has passed. This patch removes this method
and completes the refactor proposed in the RFC:
https://lists.llvm.org/pipermail/llvm-dev/2020-March/139811.html

Reviewed By: david-arm, rjmccall

Differential Revision: https://reviews.llvm.org/D95570

llvm/include/llvm/IR/DerivedTypes.h

index c3d97f4..4c89fc0 100644 (file)
@@ -421,15 +421,6 @@ public:
   VectorType(const VectorType &) = delete;
   VectorType &operator=(const VectorType &) = delete;
 
-  /// Get the number of elements in this vector. It does not make sense to call
-  /// this function on a scalable vector, and this will be moved into
-  /// FixedVectorType in a future commit
-  LLVM_ATTRIBUTE_DEPRECATED(
-      inline unsigned getNumElements() const,
-      "Calling this function via a base VectorType is deprecated. Either call "
-      "getElementCount() and handle the case where Scalable is true or cast to "
-      "FixedVectorType.");
-
   Type *getElementType() const { return ContainedType; }
 
   /// This static method is the primary way to construct an VectorType.
@@ -532,21 +523,6 @@ public:
   }
 };
 
-unsigned VectorType::getNumElements() const {
-  ElementCount EC = getElementCount();
-#ifdef STRICT_FIXED_SIZE_VECTORS
-  assert(!EC.isScalable() &&
-         "Request for fixed number of elements from scalable vector");
-#else
-  if (EC.isScalable())
-    WithColor::warning()
-        << "The code that requested the fixed number of elements has made the "
-           "assumption that this vector is not scalable. This assumption was "
-           "not correct, and this may lead to broken code\n";
-#endif
-  return EC.getKnownMinValue();
-}
-
 /// Class to represent fixed width SIMD vectors
 class FixedVectorType : public VectorType {
 protected: