[llvm-branch-commits] [clang] 2a338d8 - Revert "[Metal][HLSL] Add support for dumping reflection (#181258)"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Feb 27 11:52:27 PST 2026
Author: Daniel Thornburgh
Date: 2026-02-27T11:52:23-08:00
New Revision: 2a338d86c298e3061c3da0c99876bbb536cb55f5
URL: https://github.com/llvm/llvm-project/commit/2a338d86c298e3061c3da0c99876bbb536cb55f5
DIFF: https://github.com/llvm/llvm-project/commit/2a338d86c298e3061c3da0c99876bbb536cb55f5.diff
LOG: Revert "[Metal][HLSL] Add support for dumping reflection (#181258)"
This reverts commit 3d469665a286cac528c2ef2fb018032d80843716.
Added:
Modified:
clang/include/clang/Basic/DiagnosticDriverKinds.td
clang/include/clang/Options/Options.td
clang/lib/Driver/ToolChains/HLSL.cpp
clang/test/Driver/HLSL/metal-converter.hlsl
Removed:
clang/test/Driver/HLSL/fre-errors.hlsl
################################################################################
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td
index 0fe61d94e4076..3206b5c78a6f1 100644
--- a/clang/include/clang/Basic/DiagnosticDriverKinds.td
+++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td
@@ -847,8 +847,6 @@ def err_drv_dxc_invalid_matrix_layout : Error<
"cannot specify /Zpr and /Zpc together">;
def err_drv_dxc_missing_target_profile : Error<
"target profile option (-T) is missing">;
-def err_drv_dxc_Fre_requires_Fo_metal
- : Error<"-Fre option requires -Fo option when targeting Metal">;
def err_drv_hlsl_unsupported_target : Error<
"HLSL code generation is unsupported for target '%0'">;
def err_drv_hlsl_bad_shader_required_in_target : Error<
diff --git a/clang/include/clang/Options/Options.td b/clang/include/clang/Options/Options.td
index 4dbfe0eb6f1af..b2d8e5fb001e5 100644
--- a/clang/include/clang/Options/Options.td
+++ b/clang/include/clang/Options/Options.td
@@ -9803,8 +9803,6 @@ def dxc_no_stdinc : DXCFlag<"hlsl-no-stdinc">,
HelpText<"HLSL only. Disables all standard includes containing non-native compiler types and functions.">;
def dxc_Fo : DXCJoinedOrSeparate<"Fo">,
HelpText<"Output object file">;
-def dxc_Fre : DXCJoinedOrSeparate<"Fre">,
- HelpText<"Set output file name for reflection files">;
def dxc_Fc : DXCJoinedOrSeparate<"Fc">,
HelpText<"Output assembly listing file">;
def dxc_Frs : DXCJoinedOrSeparate<"Frs">,
diff --git a/clang/lib/Driver/ToolChains/HLSL.cpp b/clang/lib/Driver/ToolChains/HLSL.cpp
index 1070f0ef6ee9e..28835d5077db7 100644
--- a/clang/lib/Driver/ToolChains/HLSL.cpp
+++ b/clang/lib/Driver/ToolChains/HLSL.cpp
@@ -327,13 +327,6 @@ void tools::hlsl::MetalConverter::ConstructJob(
CmdArgs.push_back("-o");
CmdArgs.push_back(Output.getFilename());
- StringRef Reflection = Args.getLastArgValue(options::OPT_dxc_Fre);
- if (!Reflection.empty()) {
- const char *ReflectionStr =
- Args.MakeArgString(StringRef("--output-reflection-file=") + Reflection);
- CmdArgs.push_back(ReflectionStr);
- }
-
const char *Exec = Args.MakeArgString(MSCPath);
C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
Exec, CmdArgs, Inputs, Input));
@@ -538,21 +531,6 @@ HLSLToolChain::TranslateArgs(const DerivedArgList &Args, StringRef BoundArch,
continue;
}
- // This is a temporary check until we support reflection generation for
- // other targets.
- if (A->getOption().getID() == options::OPT_dxc_Fre) {
- if (Args.hasArg(options::OPT_metal)) {
- if (!Args.hasArg(options::OPT_dxc_Fo))
- getDriver().Diag(diag::err_drv_dxc_Fre_requires_Fo_metal);
- } else
- getDriver().Diag(diag::err_drv_unsupported_opt_for_target)
- << "-Fre" << getTriple().getArchName();
- A->claim();
- DAL->AddSeparateArg(nullptr, Opts.getOption(options::OPT_dxc_Fre),
- A->getValue());
- continue;
- }
-
DAL->append(A);
}
diff --git a/clang/test/Driver/HLSL/fre-errors.hlsl b/clang/test/Driver/HLSL/fre-errors.hlsl
deleted file mode 100644
index 84f7bf048bb16..0000000000000
--- a/clang/test/Driver/HLSL/fre-errors.hlsl
+++ /dev/null
@@ -1,8 +0,0 @@
-// These are placeholder errors since we do not currently support -Fre to
-// generate reflection data for DXIL or SPIRV targets.
-
-// RUN: env PATH="" not %clang_dxc -T cs_6_0 %s -Fre blah.json -Vd -### 2>&1 | FileCheck --check-prefix=FRE_DXIL %s
-// FRE_DXIL: error: unsupported option '-Fre' for target 'dxilv1.0'
-
-// RUN: env PATH="" not %clang_dxc -T cs_6_0 %s -spirv -Fre blah.json -Vd -### 2>&1 | FileCheck --check-prefix=FRE_SPV %s
-// FRE_SPV: error: unsupported option '-Fre' for target 'spirv1.6'
diff --git a/clang/test/Driver/HLSL/metal-converter.hlsl b/clang/test/Driver/HLSL/metal-converter.hlsl
index 46a9e06a147fc..5c139c62e826b 100644
--- a/clang/test/Driver/HLSL/metal-converter.hlsl
+++ b/clang/test/Driver/HLSL/metal-converter.hlsl
@@ -6,14 +6,6 @@
// RUN: env PATH="" %clang_dxc -T cs_6_0 %s --dxv-path=%t.dir -metal -Vd -Fo %t.mtl -### 2>&1 | FileCheck --check-prefix=NO_DXV %s
// NO_DXV: "{{.*}}metal-shaderconverter{{(.exe)?}}" "{{.*}}.obj" "-o" "{{.*}}.mtl"
-// RUN: env PATH="" %clang_dxc -T cs_6_0 %s -metal -Fre blah.json -Vd -Fo %t.mtl -### 2>&1 | FileCheck --check-prefix=FRE %s
-// FRE: "{{.*}}metal-shaderconverter{{(.exe)?}}" "{{.*}}.obj" "-o" "{{.*}}.mtl" "--output-reflection-file=blah.json"
-
-// RUN: env PATH="" not %clang_dxc -T cs_6_0 %s -metal -Fre blah.json -Vd -### 2>&1 | FileCheck --check-prefix=FRE_ERR %s
-// FRE_ERR: error: -Fre option requires -Fo option when targeting Metal
-
-// Does not generate the metal IR when the output file is not specified since we
-// cannot disassemble the metal IR reliably.
// RUN: %clang_dxc -T cs_6_0 %s -metal -### 2>&1 | FileCheck --check-prefix=NO_MTL %s
// NO_MTL-NOT: metal-shaderconverter
More information about the llvm-branch-commits
mailing list