[llvm] [Offload] Define `_NUM_VARIANTS` macros for generated enumerations (PR #147314)
Ross Brunton via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 7 08:01:27 PDT 2025
https://github.com/RossBrunton created https://github.com/llvm/llvm-project/pull/147314
None
>From 7f935596c22340f7b7af8379e6b895044f8c0056 Mon Sep 17 00:00:00 2001
From: Ross Brunton <ross at codeplay.com>
Date: Mon, 7 Jul 2025 16:00:43 +0100
Subject: [PATCH] [Offload] Define `_NUM_VARIANTS` macros for generated
enumerations
---
offload/tools/offload-tblgen/APIGen.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/offload/tools/offload-tblgen/APIGen.cpp b/offload/tools/offload-tblgen/APIGen.cpp
index 35b080e3c8011..2a49ac6cc3e77 100644
--- a/offload/tools/offload-tblgen/APIGen.cpp
+++ b/offload/tools/offload-tblgen/APIGen.cpp
@@ -151,6 +151,12 @@ static void ProcessEnum(const EnumRec &Enum, raw_ostream &OS) {
Enum.getEnumValNamePrefix());
OS << formatv("} {0};\n", Enum.getName());
+
+ // Add field for the number of variants
+ OS << formatv(TAB_1
+ "/// @brief Number of variants for the {0} enumeration\n" TAB_1
+ "#define {0}_NUM_VARIANTS {1}\n",
+ Enum.getEnumValNamePrefix(), EtorVal);
}
static void ProcessStruct(const StructRec &Struct, raw_ostream &OS) {
More information about the llvm-commits
mailing list