[llvm] Revert "[HLSL][RootSignature] Implement serialization of `RootConstants` and `RootFlags`" (PR #142005)

Finn Plummer via llvm-commits llvm-commits at lists.llvm.org
Thu May 29 11:19:15 PDT 2025


https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/142005

The commit caused build failures, [here](https://lab.llvm.org/buildbot/#/builders/10/builds/6308), due to a missing linked llvm library (HLSLFrontend) into `clang/unittests/Parse/CMakeLists.txt`.

While it seems like the fix is straightforwardly to just add this library, I will revert now to build and verify it correctly fixes it.

Reverts llvm/llvm-project#141130

>From 4805e273192ef3809c754d14ff8f19195e18a275 Mon Sep 17 00:00:00 2001
From: Finn Plummer <finn.c.plum at gmail.com>
Date: Thu, 29 May 2025 11:17:24 -0700
Subject: [PATCH] =?UTF-8?q?Revert=20"[HLSL][RootSignature]=20Implement=20s?=
 =?UTF-8?q?erialization=20of=20`RootConstants`=20and=20=E2=80=A6"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit 66889bf300f6a34808b9ebbee7130c5e1ef21538.
---
 .../llvm/Frontend/HLSL/HLSLRootSignature.h    |  4 -
 llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp  | 73 -------------------
 .../Frontend/HLSLRootSignatureDumpTest.cpp    | 69 ------------------
 3 files changed, 146 deletions(-)

diff --git a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
index 14f5ddea3f978..fea9a9962991c 100644
--- a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
+++ b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
@@ -46,8 +46,6 @@ enum class RootFlags : uint32_t {
   ValidFlags = 0x00000fff
 };
 
-raw_ostream &operator<<(raw_ostream &OS, const RootFlags &Flags);
-
 enum class RootDescriptorFlags : unsigned {
   None = 0,
   DataVolatile = 0x2,
@@ -95,8 +93,6 @@ struct RootConstants {
   ShaderVisibility Visibility = ShaderVisibility::All;
 };
 
-raw_ostream &operator<<(raw_ostream &OS, const RootConstants &Constants);
-
 enum class DescriptorType : uint8_t { SRV = 0, UAV, CBuffer };
 // Models RootDescriptor : CBV | SRV | UAV, by collecting like parameters
 struct RootDescriptor {
diff --git a/llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp b/llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
index 6e0e0cdcd5946..ec0d130a6767c 100644
--- a/llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
+++ b/llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
@@ -132,79 +132,6 @@ static raw_ostream &operator<<(raw_ostream &OS,
   return OS;
 }
 
-raw_ostream &operator<<(raw_ostream &OS, const RootFlags &Flags) {
-  OS << "RootFlags(";
-  bool FlagSet = false;
-  unsigned Remaining = llvm::to_underlying(Flags);
-  while (Remaining) {
-    unsigned Bit = 1u << llvm::countr_zero(Remaining);
-    if (Remaining & Bit) {
-      if (FlagSet)
-        OS << " | ";
-
-      switch (static_cast<RootFlags>(Bit)) {
-      case RootFlags::AllowInputAssemblerInputLayout:
-        OS << "AllowInputAssemblerInputLayout";
-        break;
-      case RootFlags::DenyVertexShaderRootAccess:
-        OS << "DenyVertexShaderRootAccess";
-        break;
-      case RootFlags::DenyHullShaderRootAccess:
-        OS << "DenyHullShaderRootAccess";
-        break;
-      case RootFlags::DenyDomainShaderRootAccess:
-        OS << "DenyDomainShaderRootAccess";
-        break;
-      case RootFlags::DenyGeometryShaderRootAccess:
-        OS << "DenyGeometryShaderRootAccess";
-        break;
-      case RootFlags::DenyPixelShaderRootAccess:
-        OS << "DenyPixelShaderRootAccess";
-        break;
-      case RootFlags::AllowStreamOutput:
-        OS << "AllowStreamOutput";
-        break;
-      case RootFlags::LocalRootSignature:
-        OS << "LocalRootSignature";
-        break;
-      case RootFlags::DenyAmplificationShaderRootAccess:
-        OS << "DenyAmplificationShaderRootAccess";
-        break;
-      case RootFlags::DenyMeshShaderRootAccess:
-        OS << "DenyMeshShaderRootAccess";
-        break;
-      case RootFlags::CBVSRVUAVHeapDirectlyIndexed:
-        OS << "CBVSRVUAVHeapDirectlyIndexed";
-        break;
-      case RootFlags::SamplerHeapDirectlyIndexed:
-        OS << "SamplerHeapDirectlyIndexed";
-        break;
-      default:
-        OS << "invalid: " << Bit;
-        break;
-      }
-
-      FlagSet = true;
-    }
-    Remaining &= ~Bit;
-  }
-
-  if (!FlagSet)
-    OS << "None";
-
-  OS << ")";
-
-  return OS;
-}
-
-raw_ostream &operator<<(raw_ostream &OS, const RootConstants &Constants) {
-  OS << "RootConstants(num32BitConstants = " << Constants.Num32BitConstants
-     << ", " << Constants.Reg << ", space = " << Constants.Space
-     << ", visibility = " << Constants.Visibility << ")";
-
-  return OS;
-}
-
 raw_ostream &operator<<(raw_ostream &OS, const DescriptorTable &Table) {
   OS << "DescriptorTable(numClauses = " << Table.NumClauses
      << ", visibility = " << Table.Visibility << ")";
diff --git a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
index 8597ed78b4fbb..3f92fa0f05794 100644
--- a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
+++ b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
@@ -108,73 +108,4 @@ TEST(HLSLRootSignatureTest, DescriptorTableDump) {
   EXPECT_EQ(Out, Expected);
 }
 
-TEST(HLSLRootSignatureTest, DefaultRootConstantsDump) {
-  RootConstants Constants;
-  Constants.Num32BitConstants = 1;
-  Constants.Reg = {RegisterType::BReg, 3};
-
-  std::string Out;
-  llvm::raw_string_ostream OS(Out);
-  OS << Constants;
-  OS.flush();
-
-  std::string Expected = "RootConstants(num32BitConstants = 1, b3, space = 0, "
-                         "visibility = All)";
-  EXPECT_EQ(Out, Expected);
-}
-
-TEST(HLSLRootSignatureTest, SetRootConstantsDump) {
-  RootConstants Constants;
-  Constants.Num32BitConstants = 983;
-  Constants.Reg = {RegisterType::BReg, 34593};
-  Constants.Space = 7;
-  Constants.Visibility = ShaderVisibility::Pixel;
-
-  std::string Out;
-  llvm::raw_string_ostream OS(Out);
-  OS << Constants;
-  OS.flush();
-
-  std::string Expected = "RootConstants(num32BitConstants = 983, b34593, "
-                         "space = 7, visibility = Pixel)";
-  EXPECT_EQ(Out, Expected);
-}
-
-TEST(HLSLRootSignatureTest, NoneRootFlagsDump) {
-  RootFlags Flags = RootFlags::None;
-
-  std::string Out;
-  llvm::raw_string_ostream OS(Out);
-  OS << Flags;
-  OS.flush();
-
-  std::string Expected = "RootFlags(None)";
-  EXPECT_EQ(Out, Expected);
-}
-
-TEST(HLSLRootSignatureTest, AllRootFlagsDump) {
-  RootFlags Flags = RootFlags::ValidFlags;
-
-  std::string Out;
-  llvm::raw_string_ostream OS(Out);
-  OS << Flags;
-  OS.flush();
-
-  std::string Expected = "RootFlags("
-                         "AllowInputAssemblerInputLayout | "
-                         "DenyVertexShaderRootAccess | "
-                         "DenyHullShaderRootAccess | "
-                         "DenyDomainShaderRootAccess | "
-                         "DenyGeometryShaderRootAccess | "
-                         "DenyPixelShaderRootAccess | "
-                         "AllowStreamOutput | "
-                         "LocalRootSignature | "
-                         "DenyAmplificationShaderRootAccess | "
-                         "DenyMeshShaderRootAccess | "
-                         "CBVSRVUAVHeapDirectlyIndexed | "
-                         "SamplerHeapDirectlyIndexed)";
-
-  EXPECT_EQ(Out, Expected);
-}
-
 } // namespace



More information about the llvm-commits mailing list