https://github.com/topperc updated https://github.com/llvm/llvm-project/pull/74906
>From 83579bb66f49f8f41f5030f861704b5c97729805 Mon Sep 17 00:00:00 2001 From: Craig Topper <craig.top...@sifive.com> Date: Fri, 8 Dec 2023 17:06:36 -0800 Subject: [PATCH 1/3] [RISCV] Reduce the size of the index used for RVV intrinsics. NFC Rather than using size_t, use unsigned. We don't have more than 4 billion intrinsics. --- clang/lib/Sema/SemaRISCVVectorLookup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/Sema/SemaRISCVVectorLookup.cpp b/clang/lib/Sema/SemaRISCVVectorLookup.cpp index 0d411fca0f9c82..e6900c309e0d0a 100644 --- a/clang/lib/Sema/SemaRISCVVectorLookup.cpp +++ b/clang/lib/Sema/SemaRISCVVectorLookup.cpp @@ -43,7 +43,7 @@ struct RVVIntrinsicDef { struct RVVOverloadIntrinsicDef { // Indexes of RISCVIntrinsicManagerImpl::IntrinsicList. - SmallVector<size_t, 8> Indexes; + SmallVector<unsigned, 8> Indexes; }; } // namespace @@ -162,7 +162,7 @@ class RISCVIntrinsicManagerImpl : public sema::RISCVIntrinsicManager { // List of all RVV intrinsic. std::vector<RVVIntrinsicDef> IntrinsicList; // Mapping function name to index of IntrinsicList. - StringMap<size_t> Intrinsics; + StringMap<unsigned> Intrinsics; // Mapping function name to RVVOverloadIntrinsicDef. StringMap<RVVOverloadIntrinsicDef> OverloadIntrinsics; @@ -386,7 +386,7 @@ void RISCVIntrinsicManagerImpl::InitRVVIntrinsic( Record.HasFRMRoundModeOp); // Put into IntrinsicList. - size_t Index = IntrinsicList.size(); + unsigned Index = IntrinsicList.size(); IntrinsicList.push_back({BuiltinName, Signature}); // Creating mapping to Intrinsics. >From 86ffbd6457dc528d323c6c68104392a87d741d45 Mon Sep 17 00:00:00 2001 From: Craig Topper <craig.top...@sifive.com> Date: Tue, 12 Dec 2023 09:30:52 -0800 Subject: [PATCH 2/3] fixup! use uint32_t. --- clang/lib/Sema/SemaRISCVVectorLookup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/Sema/SemaRISCVVectorLookup.cpp b/clang/lib/Sema/SemaRISCVVectorLookup.cpp index e6900c309e0d0a..c275eb6246d386 100644 --- a/clang/lib/Sema/SemaRISCVVectorLookup.cpp +++ b/clang/lib/Sema/SemaRISCVVectorLookup.cpp @@ -43,7 +43,7 @@ struct RVVIntrinsicDef { struct RVVOverloadIntrinsicDef { // Indexes of RISCVIntrinsicManagerImpl::IntrinsicList. - SmallVector<unsigned, 8> Indexes; + SmallVector<uint32_t, 8> Indexes; }; } // namespace @@ -162,7 +162,7 @@ class RISCVIntrinsicManagerImpl : public sema::RISCVIntrinsicManager { // List of all RVV intrinsic. std::vector<RVVIntrinsicDef> IntrinsicList; // Mapping function name to index of IntrinsicList. - StringMap<unsigned> Intrinsics; + StringMap<uint32_t> Intrinsics; // Mapping function name to RVVOverloadIntrinsicDef. StringMap<RVVOverloadIntrinsicDef> OverloadIntrinsics; @@ -174,7 +174,7 @@ class RISCVIntrinsicManagerImpl : public sema::RISCVIntrinsicManager { // Create FunctionDecl for a vector intrinsic. void CreateRVVIntrinsicDecl(LookupResult &LR, IdentifierInfo *II, - Preprocessor &PP, unsigned Index, + Preprocessor &PP, uint32_t Index, bool IsOverload); void ConstructRVVIntrinsics(ArrayRef<RVVIntrinsicRecord> Recs, >From 0acff799137f1c7f169adac1ebe3c57f5f974f08 Mon Sep 17 00:00:00 2001 From: Craig Topper <craig.top...@sifive.com> Date: Tue, 12 Dec 2023 11:18:39 -0800 Subject: [PATCH 3/3] missed a spot --- clang/lib/Sema/SemaRISCVVectorLookup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Sema/SemaRISCVVectorLookup.cpp b/clang/lib/Sema/SemaRISCVVectorLookup.cpp index c275eb6246d386..d3da25524aeab8 100644 --- a/clang/lib/Sema/SemaRISCVVectorLookup.cpp +++ b/clang/lib/Sema/SemaRISCVVectorLookup.cpp @@ -386,7 +386,7 @@ void RISCVIntrinsicManagerImpl::InitRVVIntrinsic( Record.HasFRMRoundModeOp); // Put into IntrinsicList. - unsigned Index = IntrinsicList.size(); + uint32_t Index = IntrinsicList.size(); IntrinsicList.push_back({BuiltinName, Signature}); // Creating mapping to Intrinsics. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits