[clang] [clang][RISCV] Extend intrinsic size check variable from 16 -> 32 bits. NFC (PR #111481)
Brandon Wu via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 16 21:05:34 PDT 2024
https://github.com/4vtomat updated https://github.com/llvm/llvm-project/pull/111481
>From 832a7576ad864aeaf8f183b631d1d805497aebf5 Mon Sep 17 00:00:00 2001
From: Brandon Wu <brandon.wu at sifive.com>
Date: Mon, 7 Oct 2024 22:03:43 -0700
Subject: [PATCH 1/2] [clang][RISCV] Extend intrinsic size check variable from
16 -> 32 bits. NFC
We currently have over 67000 intrinsics, uint16_t will overflow.
---
clang/lib/Sema/SemaRISCV.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang/lib/Sema/SemaRISCV.cpp b/clang/lib/Sema/SemaRISCV.cpp
index 3da4b515b1b114..f49c2088ef4776 100644
--- a/clang/lib/Sema/SemaRISCV.cpp
+++ b/clang/lib/Sema/SemaRISCV.cpp
@@ -399,7 +399,7 @@ void RISCVIntrinsicManagerImpl::InitRVVIntrinsic(
Record.HasFRMRoundModeOp);
// Put into IntrinsicList.
- uint16_t Index = IntrinsicList.size();
+ uint32_t Index = IntrinsicList.size();
assert(IntrinsicList.size() == (size_t)Index &&
"Intrinsics indices overflow.");
IntrinsicList.push_back({BuiltinName, Signature});
>From c2b47904238676b7e5516ebb1894c6b2d6ba08d2 Mon Sep 17 00:00:00 2001
From: Brandon Wu <brandon.wu at sifive.com>
Date: Wed, 16 Oct 2024 21:02:59 -0700
Subject: [PATCH 2/2] fixup! [clang][RISCV] Extend intrinsic size check
variable from 16 -> 32 bits. NFC
---
clang/lib/Sema/SemaRISCV.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/clang/lib/Sema/SemaRISCV.cpp b/clang/lib/Sema/SemaRISCV.cpp
index f49c2088ef4776..5d0de1f3eadba8 100644
--- a/clang/lib/Sema/SemaRISCV.cpp
+++ b/clang/lib/Sema/SemaRISCV.cpp
@@ -50,7 +50,7 @@ struct RVVIntrinsicDef {
struct RVVOverloadIntrinsicDef {
// Indexes of RISCVIntrinsicManagerImpl::IntrinsicList.
- SmallVector<uint16_t, 8> Indexes;
+ SmallVector<uint32_t, 8> Indexes;
};
} // namespace
@@ -169,7 +169,7 @@ class RISCVIntrinsicManagerImpl : public sema::RISCVIntrinsicManager {
// List of all RVV intrinsic.
std::vector<RVVIntrinsicDef> IntrinsicList;
// Mapping function name to index of IntrinsicList.
- StringMap<uint16_t> Intrinsics;
+ StringMap<uint32_t> Intrinsics;
// Mapping function name to RVVOverloadIntrinsicDef.
StringMap<RVVOverloadIntrinsicDef> OverloadIntrinsics;
More information about the cfe-commits
mailing list