[llvm-branch-commits] [llvm] [DirectX] Improve error accumulation in root signature parsing (PR #144465)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jun 17 10:31:21 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp -- llvm/lib/Target/DirectX/DXILRootSignature.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/DirectX/DXILRootSignature.cpp b/llvm/lib/Target/DirectX/DXILRootSignature.cpp
index e96c680c6..eea46e714 100644
--- a/llvm/lib/Target/DirectX/DXILRootSignature.cpp
+++ b/llvm/lib/Target/DirectX/DXILRootSignature.cpp
@@ -145,8 +145,9 @@ static bool parseRootFlags(LLVMContext *Ctx, mcdxbc::RootSignatureDesc &RSD,
if (std::optional<uint32_t> Val = extractMdIntValue(RootFlagNode, 1))
RSD.Flags = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt>(
- Ctx, "RootFlagNode", RootFlagNode, 1) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootFlagNode",
+ RootFlagNode, 1) ||
+ HasError;
return HasError;
}
@@ -167,27 +168,31 @@ static bool parseRootConstants(LLVMContext *Ctx, mcdxbc::RootSignatureDesc &RSD,
if (std::optional<uint32_t> Val = extractMdIntValue(RootConstantNode, 1))
Header.ShaderVisibility = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt>(
- Ctx, "RootConstantNode", RootConstantNode, 1) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootConstantNode",
+ RootConstantNode, 1) ||
+ HasError;
dxbc::RTS0::v1::RootConstants Constants;
if (std::optional<uint32_t> Val = extractMdIntValue(RootConstantNode, 2))
Constants.ShaderRegister = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "RootConstantNode", RootConstantNode, 2) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootConstantNode",
+ RootConstantNode, 2) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RootConstantNode, 3))
Constants.RegisterSpace = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "RootConstantNode", RootConstantNode, 3) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootConstantNode",
+ RootConstantNode, 3) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RootConstantNode, 4))
Constants.Num32BitValues = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "RootConstantNode", RootConstantNode, 4) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootConstantNode",
+ RootConstantNode, 4) ||
+ HasError;
if (!HasError)
RSD.ParametersContainer.addParameter(Header, Constants);
@@ -226,24 +231,24 @@ static bool parseRootDescriptors(LLVMContext *Ctx,
if (std::optional<uint32_t> Val = extractMdIntValue(RootDescriptorNode, 1))
Header.ShaderVisibility = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
- RootDescriptorNode, 1)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
+ RootDescriptorNode, 1) ||
+ HasError;
dxbc::RTS0::v2::RootDescriptor Descriptor;
if (std::optional<uint32_t> Val = extractMdIntValue(RootDescriptorNode, 2))
Descriptor.ShaderRegister = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
- RootDescriptorNode, 2)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
+ RootDescriptorNode, 2) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RootDescriptorNode, 3))
Descriptor.RegisterSpace = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
- RootDescriptorNode, 3)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
+ RootDescriptorNode, 3) ||
+ HasError;
if (RSD.Version == 1) {
if (!HasError)
@@ -255,9 +260,9 @@ static bool parseRootDescriptors(LLVMContext *Ctx,
if (std::optional<uint32_t> Val = extractMdIntValue(RootDescriptorNode, 4))
Descriptor.Flags = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
- RootDescriptorNode, 4)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RootDescriptorNode",
+ RootDescriptorNode, 4) ||
+ HasError;
if (!HasError)
RSD.ParametersContainer.addParameter(Header, Descriptor);
return HasError;
@@ -278,9 +283,9 @@ static bool parseDescriptorRange(LLVMContext *Ctx,
extractMdStringValue(RangeDescriptorNode, 0);
if (!ElementText.has_value())
- HasError =
- reportInvalidTypeError<MDString>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 0)|| HasError;
+ HasError = reportInvalidTypeError<MDString>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 0) ||
+ HasError;
Range.RangeType =
StringSwitch<uint32_t>(*ElementText)
@@ -292,43 +297,44 @@ static bool parseDescriptorRange(LLVMContext *Ctx,
.Default(-1u);
if (Range.RangeType == -1u)
- HasError = reportError(Ctx, "Invalid Descriptor Range type: " +
- *ElementText)|| HasError;
+ HasError =
+ reportError(Ctx, "Invalid Descriptor Range type: " + *ElementText) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RangeDescriptorNode, 1))
Range.NumDescriptors = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 1) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 1) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RangeDescriptorNode, 2))
Range.BaseShaderRegister = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 2) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 2) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RangeDescriptorNode, 3))
Range.RegisterSpace = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 3) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 3) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RangeDescriptorNode, 4))
Range.OffsetInDescriptorsFromTableStart = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 4) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 4) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(RangeDescriptorNode, 5))
Range.Flags = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
- RangeDescriptorNode, 5) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "RangeDescriptorNode",
+ RangeDescriptorNode, 5) ||
+ HasError;
if (!HasError)
Table.Ranges.push_back(Range);
return HasError;
@@ -345,9 +351,9 @@ static bool parseDescriptorTable(LLVMContext *Ctx,
if (std::optional<uint32_t> Val = extractMdIntValue(DescriptorTableNode, 1))
Header.ShaderVisibility = *Val;
else
- HasError =
- reportInvalidTypeError<ConstantInt>(Ctx, "DescriptorTableNode",
- DescriptorTableNode, 1) || HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "DescriptorTableNode",
+ DescriptorTableNode, 1) ||
+ HasError;
mcdxbc::DescriptorTable Table;
Header.ParameterType =
@@ -356,9 +362,9 @@ static bool parseDescriptorTable(LLVMContext *Ctx,
for (unsigned int I = 2; I < NumOperands; I++) {
MDNode *Element = dyn_cast<MDNode>(DescriptorTableNode->getOperand(I));
if (Element == nullptr)
- HasError =
- reportInvalidTypeError<MDNode>(Ctx, "DescriptorTableNode",
- DescriptorTableNode, I) || HasError;
+ HasError = reportInvalidTypeError<MDNode>(Ctx, "DescriptorTableNode",
+ DescriptorTableNode, I) ||
+ HasError;
if (parseDescriptorRange(Ctx, RSD, Table, Element))
HasError = true || HasError;
@@ -378,80 +384,93 @@ static bool parseStaticSampler(LLVMContext *Ctx, mcdxbc::RootSignatureDesc &RSD,
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 1))
Sampler.Filter = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 1)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 1) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 2))
Sampler.AddressU = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 2)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 2) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 3))
Sampler.AddressV = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 3)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 3) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 4))
Sampler.AddressW = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 4)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 4) ||
+ HasError;
if (std::optional<APFloat> Val = extractMdFloatValue(StaticSamplerNode, 5))
Sampler.MipLODBias = Val->convertToFloat();
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 5)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 5) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 6))
Sampler.MaxAnisotropy = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 6)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 6) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 7))
Sampler.ComparisonFunc = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 7)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 7) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 8))
Sampler.BorderColor = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 8)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 8) ||
+ HasError;
if (std::optional<APFloat> Val = extractMdFloatValue(StaticSamplerNode, 9))
Sampler.MinLOD = Val->convertToFloat();
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 9)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 9) ||
+ HasError;
if (std::optional<APFloat> Val = extractMdFloatValue(StaticSamplerNode, 10))
Sampler.MaxLOD = Val->convertToFloat();
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 10)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 10) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 11))
Sampler.ShaderRegister = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 11)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 11) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 12))
Sampler.RegisterSpace = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 12)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 12) ||
+ HasError;
if (std::optional<uint32_t> Val = extractMdIntValue(StaticSamplerNode, 13))
Sampler.ShaderVisibility = *Val;
else
- HasError = reportInvalidTypeError<ConstantInt> (
- Ctx, "StaticSamplerNode", StaticSamplerNode, 13)|| HasError;
+ HasError = reportInvalidTypeError<ConstantInt>(Ctx, "StaticSamplerNode",
+ StaticSamplerNode, 13) ||
+ HasError;
if (!HasError)
RSD.StaticSamplers.push_back(Sampler);
return HasError;
@@ -728,8 +747,9 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
for (const mcdxbc::RootParameterInfo &Info : RSD.ParametersContainer) {
if (!dxbc::isValidShaderVisibility(Info.Header.ShaderVisibility))
- HasError = reportValueError(Ctx, "ShaderVisibility" ,
- Info.Header.ShaderVisibility)|| HasError;
+ HasError = reportValueError(Ctx, "ShaderVisibility",
+ Info.Header.ShaderVisibility) ||
+ HasError;
assert(dxbc::isValidParameterType(Info.Header.ParameterType) &&
"Invalid value for ParameterType");
@@ -742,17 +762,20 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
const dxbc::RTS0::v2::RootDescriptor &Descriptor =
RSD.ParametersContainer.getRootDescriptor(Info.Location);
if (!verifyRegisterValue(Descriptor.ShaderRegister))
- HasError = reportValueError(Ctx, "ShaderRegister" ,
- Descriptor.ShaderRegister)|| HasError;
+ HasError = reportValueError(Ctx, "ShaderRegister",
+ Descriptor.ShaderRegister) ||
+ HasError;
if (!verifyRegisterSpace(Descriptor.RegisterSpace))
- HasError = reportValueError(Ctx, "RegisterSpace" ,
- Descriptor.RegisterSpace)|| HasError;
+ HasError =
+ reportValueError(Ctx, "RegisterSpace", Descriptor.RegisterSpace) ||
+ HasError;
if (RSD.Version > 1) {
if (!verifyDescriptorFlag(Descriptor.Flags))
- HasError =
- reportValueError(Ctx, "DescriptorFlag", Descriptor.Flags)|| HasError;
+ HasError =
+ reportValueError(Ctx, "DescriptorFlag", Descriptor.Flags) ||
+ HasError;
}
break;
}
@@ -765,8 +788,9 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
reportValueError(Ctx, "RangeType", Range.RangeType) || HasError;
if (!verifyRegisterSpace(Range.RegisterSpace))
- HasError = reportValueError(Ctx, "RegisterSpace" ,
- Range.RegisterSpace)|| HasError;
+ HasError =
+ reportValueError(Ctx, "RegisterSpace", Range.RegisterSpace) ||
+ HasError;
if (!verifyDescriptorRangeFlag(RSD.Version, Range.RangeType,
Range.Flags))
@@ -799,12 +823,14 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
reportValueError(Ctx, "MipLODBias", Sampler.MipLODBias) || HasError;
if (!verifyMaxAnisotropy(Sampler.MaxAnisotropy))
- HasError =
- reportValueError(Ctx, "MaxAnisotropy", Sampler.MaxAnisotropy)|| HasError;
+ HasError =
+ reportValueError(Ctx, "MaxAnisotropy", Sampler.MaxAnisotropy) ||
+ HasError;
if (!verifyComparisonFunc(Sampler.ComparisonFunc))
- HasError = reportValueError(Ctx, "ComparisonFunc" ,
- Sampler.ComparisonFunc)|| HasError;
+ HasError =
+ reportValueError(Ctx, "ComparisonFunc", Sampler.ComparisonFunc) ||
+ HasError;
if (!verifyBorderColor(Sampler.BorderColor))
HasError =
@@ -817,16 +843,19 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
HasError = reportValueError(Ctx, "MaxLOD", Sampler.MaxLOD) || HasError;
if (!verifyRegisterValue(Sampler.ShaderRegister))
- HasError = reportValueError(Ctx, "ShaderRegister" ,
- Sampler.ShaderRegister)|| HasError;
+ HasError =
+ reportValueError(Ctx, "ShaderRegister", Sampler.ShaderRegister) ||
+ HasError;
if (!verifyRegisterSpace(Sampler.RegisterSpace))
- HasError =
- reportValueError(Ctx, "RegisterSpace", Sampler.RegisterSpace)|| HasError;
+ HasError =
+ reportValueError(Ctx, "RegisterSpace", Sampler.RegisterSpace) ||
+ HasError;
if (!dxbc::isValidShaderVisibility(Sampler.ShaderVisibility))
- HasError = reportValueError(Ctx, "ShaderVisibility" ,
- Sampler.ShaderVisibility)|| HasError;
+ HasError =
+ reportValueError(Ctx, "ShaderVisibility", Sampler.ShaderVisibility) ||
+ HasError;
}
return HasError;
``````````
</details>
https://github.com/llvm/llvm-project/pull/144465
More information about the llvm-branch-commits
mailing list