[llvm] [DirectX] Remove custom error classes from RootSignature Metadata parser (PR #161921)

via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 7 11:55:24 PDT 2025


================
@@ -57,20 +50,6 @@ static std::optional<StringRef> extractMdStringValue(MDNode *Node,
   return NodeText->getString();
 }
 
-template <typename T, typename = std::enable_if_t<
-                          std::is_enum_v<T> &&
-                          std::is_same_v<std::underlying_type_t<T>, uint32_t>>>
-static Expected<T>
-extractEnumValue(MDNode *Node, unsigned int OpId, StringRef ErrText,
-                 llvm::function_ref<bool(uint32_t)> VerifyFn) {
-  if (std::optional<uint32_t> Val = extractMdIntValue(Node, OpId)) {
-    if (!VerifyFn(*Val))
-      return make_error<RootSignatureValidationError<uint32_t>>(ErrText, *Val);
-    return static_cast<T>(*Val);
-  }
-  return make_error<InvalidRSMetadataValue>("ShaderVisibility");
-}
-
----------------
joaosaffran wrote:

I moved that to below, so it is after the anonymous namespace, where I am adding the required error handling functions.

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


More information about the llvm-commits mailing list