[llvm] [IntrinsicEmitter] Make AttributesMap PackedID type-adaptive (PR #158383)

Rahul Joshi via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 18 09:03:27 PDT 2025


================
@@ -633,17 +631,25 @@ static constexpr uint16_t IntrinsicsToAttributesMap[] = {)";
   // Note, ID `-1` is used to indicate no function attributes.
   const uint8_t UniqFnAttributesBitSize =
       Log2_32_Ceil(UniqFnAttributes.size() + 1);
-  const uint16_t NoFunctionAttrsID =
-      maskTrailingOnes<uint16_t>(UniqFnAttributesBitSize);
-  if (UniqAttributesBitSize + UniqFnAttributesBitSize > 16)
-    PrintFatalError(
-        "More than 16 bits are used for IntrinsicsToAttributesMap's entry!");
-
-  // Assign a 16-bit packed ID for each intrinsic. The lower bits will be its
+  const uint32_t NoFunctionAttrsID =
+      maskTrailingOnes<uint32_t>(UniqFnAttributesBitSize);
+  uint8_t AttributesMapDataBitSize =
----------------
jurahul wrote:

use uint32_t here as well?

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


More information about the llvm-commits mailing list