[clang] [Clang][RISCV] Remove duplicate functions isRVVSizelessBuiltinType. NFC (PR #67089)

via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 21 23:27:16 PDT 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

<details>
<summary>Changes</summary>

`isRVVSizelessBuiltinType` and `isRVVType` has the same functionality. This commit removes the former since we have more variants available in `isRVVType`.

---
Full diff: https://github.com/llvm/llvm-project/pull/67089.diff


5 Files Affected:

- (modified) clang/include/clang/AST/Type.h (-3) 
- (modified) clang/lib/AST/ASTContext.cpp (+6-8) 
- (modified) clang/lib/AST/Type.cpp (+1-14) 
- (modified) clang/lib/Sema/SemaExpr.cpp (+4-4) 
- (modified) clang/lib/Sema/SemaOverload.cpp (+1-2) 


``````````diff
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h
index 4799f89db82fa7f..f4eb57e19d9370d 100644
--- a/clang/include/clang/AST/Type.h
+++ b/clang/include/clang/AST/Type.h
@@ -2061,9 +2061,6 @@ class alignas(8) Type : public ExtQualsTypeCommonBase {
   /// Returns true for SVE scalable vector types.
   bool isSVESizelessBuiltinType() const;
 
-  /// Returns true for RVV scalable vector types.
-  bool isRVVSizelessBuiltinType() const;
-
   /// Check if this is a WebAssembly Externref Type.
   bool isWebAssemblyExternrefType() const;
 
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 4b1d9e86797b778..c670624b21f14ec 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -9571,10 +9571,9 @@ static uint64_t getRVVTypeSize(ASTContext &Context, const BuiltinType *Ty) {
 
 bool ASTContext::areCompatibleRVVTypes(QualType FirstType,
                                        QualType SecondType) {
-  assert(
-      ((FirstType->isRVVSizelessBuiltinType() && SecondType->isVectorType()) ||
-       (FirstType->isVectorType() && SecondType->isRVVSizelessBuiltinType())) &&
-      "Expected RVV builtin type and vector type!");
+  assert(((FirstType->isRVVType() && SecondType->isVectorType()) ||
+          (FirstType->isVectorType() && SecondType->isRVVType())) &&
+         "Expected RVV builtin type and vector type!");
 
   auto IsValidCast = [this](QualType FirstType, QualType SecondType) {
     if (const auto *BT = FirstType->getAs<BuiltinType>()) {
@@ -9596,10 +9595,9 @@ bool ASTContext::areCompatibleRVVTypes(QualType FirstType,
 
 bool ASTContext::areLaxCompatibleRVVTypes(QualType FirstType,
                                           QualType SecondType) {
-  assert(
-      ((FirstType->isRVVSizelessBuiltinType() && SecondType->isVectorType()) ||
-       (FirstType->isVectorType() && SecondType->isRVVSizelessBuiltinType())) &&
-      "Expected RVV builtin type and vector type!");
+  assert(((FirstType->isRVVType() && SecondType->isVectorType()) ||
+          (FirstType->isVectorType() && SecondType->isRVVType())) &&
+         "Expected RVV builtin type and vector type!");
 
   auto IsLaxCompatible = [this](QualType FirstType, QualType SecondType) {
     const auto *BT = FirstType->getAs<BuiltinType>();
diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp
index c08ebfb7f142b35..d0be891122c8fc9 100644
--- a/clang/lib/AST/Type.cpp
+++ b/clang/lib/AST/Type.cpp
@@ -2372,7 +2372,7 @@ bool Type::isIncompleteType(NamedDecl **Def) const {
 }
 
 bool Type::isSizelessBuiltinType() const {
-  if (isSVESizelessBuiltinType() || isRVVSizelessBuiltinType())
+  if (isSVESizelessBuiltinType() || isRVVType())
     return true;
 
   if (const BuiltinType *BT = getAs<BuiltinType>()) {
@@ -2420,19 +2420,6 @@ bool Type::isSVESizelessBuiltinType() const {
   return false;
 }
 
-bool Type::isRVVSizelessBuiltinType() const {
-  if (const BuiltinType *BT = getAs<BuiltinType>()) {
-    switch (BT->getKind()) {
-#define RVV_TYPE(Name, Id, SingletonId) case BuiltinType::Id:
-#include "clang/Basic/RISCVVTypes.def"
-      return true;
-    default:
-      return false;
-    }
-  }
-  return false;
-}
-
 bool Type::isSveVLSBuiltinType() const {
   if (const BuiltinType *BT = getAs<BuiltinType>()) {
     switch (BT->getKind()) {
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 92496b03ecabe54..dd1080a1085f07c 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -8223,7 +8223,7 @@ bool Sema::isValidRVVBitcast(QualType srcTy, QualType destTy) {
   assert(srcTy->isVectorType() || destTy->isVectorType());
 
   auto ValidScalableConversion = [](QualType FirstType, QualType SecondType) {
-    if (!FirstType->isRVVSizelessBuiltinType())
+    if (!FirstType->isRVVType())
       return false;
 
     const auto *VecTy = SecondType->getAs<VectorType>();
@@ -10212,8 +10212,8 @@ Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS,
       }
 
     // Allow assignments between fixed-length and sizeless RVV vectors.
-    if ((LHSType->isRVVSizelessBuiltinType() && RHSType->isVectorType()) ||
-        (LHSType->isVectorType() && RHSType->isRVVSizelessBuiltinType())) {
+    if ((LHSType->isRVVType() && RHSType->isVectorType()) ||
+        (LHSType->isVectorType() && RHSType->isRVVType())) {
       if (Context.areCompatibleRVVTypes(LHSType, RHSType) ||
           Context.areLaxCompatibleRVVTypes(LHSType, RHSType)) {
         Kind = CK_BitCast;
@@ -11161,7 +11161,7 @@ QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS,
         SecondVecType->getVectorKind() == VectorType::GenericVector) {
       if (FirstType->isSVESizelessBuiltinType())
         return true;
-      if (FirstType->isRVVSizelessBuiltinType()) {
+      if (FirstType->isRVVType()) {
         SVEorRVV = 1;
         return true;
       }
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 0ac2ac258c0c7d1..4919641dd44acde 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -1785,8 +1785,7 @@ static bool IsVectorConversion(Sema &S, QualType FromType, QualType ToType,
       return true;
     }
 
-  if (ToType->isRVVSizelessBuiltinType() ||
-      FromType->isRVVSizelessBuiltinType())
+  if (ToType->isRVVType() || FromType->isRVVType())
     if (S.Context.areCompatibleRVVTypes(FromType, ToType) ||
         S.Context.areLaxCompatibleRVVTypes(FromType, ToType)) {
       ICK = ICK_RVV_Vector_Conversion;

``````````

</details>


https://github.com/llvm/llvm-project/pull/67089


More information about the cfe-commits mailing list