[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
@@ -55,7 +59,9 @@ // CHECK-SAME: numClauses = 3, visibility = All // CHECK-SAME: ), // CHECK-SAME: Sampler( -// CHECK-SAME: s0, numDescriptors = 4, space = 1, offset = DescriptorTableOffsetAppend, flags = None +// CHECK-SAME: s0, numDescriptors = 4, space = 1, offset =

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/146124 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From 471a4a556ad0653792e39c99da2423d5e3ed933f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 01/10] update `setDefaultFlags` --- .../llvm/Frontend/HLSL/HLSLR

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147094 At the moment, when we report diagnostics from `SemaHLSL` we only provide the source location of the root signature attr. This allows for significantly less helpful diagnostics (for eg. reporting resource range

[llvm-branch-commits] [llvm] [DirectX] Add missing verifications during `validate` of `DXILRootSignature` (PR #147111)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147111 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] WIP: retain source location for sema validation diagnostics and move validations out to library (PR #146150)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/146150 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147115 At the moment, when we report diagnostics from `SemaHLSL` we only provide the source location of the root signature attr. This allows for significantly less helpful diagnostics (for eg. reporting resource range

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Whoops, accidently pushed to the wrong upstream branch. Looks like I can't unmerge it to the stacked branch... https://github.com/llvm/llvm-project/pull/147094 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/147094 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From 4a5cde3f77dc0c371d1f33b10be9507d3aeff3e3 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/9] nfc: introduce wrapper `RootSignatureElement` around `RootEl

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL] Move resource range logic from `SemaHLSL` to `RootSignatureValidations` (PR #147117)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147117 This pr abstracts out the logic of detecting resource range overlap from `SemaHLSL` into the `RootSignatureValidations` library. For more context see linked issue. - Moves the validation logic from `SemaHLSL`

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From 4a5cde3f77dc0c371d1f33b10be9507d3aeff3e3 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/9] nfc: introduce wrapper `RootSignatureElement` around `RootEl

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL] Move resource range logic from `SemaHLSL` to `RootSignatureValidations` (PR #147117)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147117 >From d66a67d9660ab1114d55f75ef2ad5a9cfd35f8f6 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 4 Jul 2025 22:17:37 + Subject: [PATCH 1/2] self-review: remove unused Loc --- clang/include/clang/Sema/

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/146124 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/146124 This pr breaks-up `HLSLRootSignatureUtils` into separate orthogonal and meaningful libraries. This prevents it end up as a dumping grounds of many different parts. - Creates a library `RootSignatureMetadata` t

[llvm-branch-commits] [clang] [llvm] WIP: retain source location for sema validation diagnostics and move validations out to library (PR #146150)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/146150 None >From 18edab1fc3ab4a137de935abff5bb4716cc9a5fd Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/5] nfc: introduce wrapper `RootSignatureElement` around `

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From 471a4a556ad0653792e39c99da2423d5e3ed933f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/7] update `setDefaultFlags` --- .../llvm/Frontend/HLSL/HLSLRoo

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -111,14 +110,25 @@ analyzeModule(Module &M) { reportError(Ctx, "Root Element is not a metadata node."); continue; } -mcdxbc::RootSignatureDesc RSD; -if (std::optional Version = extractMdIntValue(RSDefNode, 2)) - RSD.Version = *Version; +uint3

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: The changes to all the test files here seem strange https://github.com/llvm/llvm-project/pull/149232 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Does `joinErrors` allow for automatic reporting of multiple errors? If so can we add a test to demonstrate? https://github.com/llvm/llvm-project/pull/149232 ___ llvm-branch-commits mailing list llvm-br

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -111,14 +110,25 @@ analyzeModule(Module &M) { reportError(Ctx, "Root Element is not a metadata node."); continue; } -mcdxbc::RootSignatureDesc RSD; -if (std::optional Version = extractMdIntValue(RSDefNode, 2)) - RSD.Version = *Version; +uint3

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -249,6 +260,20 @@ getRootSignature(RootSignatureBindingInfo &RSBI, return RootSigDesc; } +static void reportInvalidHandleTy( +Module &M, +const iterator_range::iterator> +&Resources) { + for (auto Res = Resources.begin(), End = Resources.end(); Res != End

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -249,6 +260,20 @@ getRootSignature(RootSignatureBindingInfo &RSBI, return RootSigDesc; } +static void reportInvalidHandleTy( +Module &M, +const iterator_range::iterator> inbelic wrote: nit: ```suggestion dxil::ResourceInfo::iterator_range ```

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -21,7 +21,7 @@ entry: %CB = tail call target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 4, 0)) @llvm.dx.resource.handlefrombinding(i32 1, i32 3, i32 1, i32 0, i1 false, ptr nonnull @CB.str) %Sampler = call target("dx.Sampler", 0) @llvm.dx.resource.handlefrombind

[llvm-branch-commits] [clang] [llvm] [DirectX] Add Range Overlap validation to `DXILPostOptimizationValidation.cpp` (PR #148919)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -312,21 +399,22 @@ static void reportErrors(Module &M, DXILResourceMap &DRM, "DXILResourceImplicitBinding pass"); if (auto RSD = getRootSignature(RSBI, MMI)) { - -llvm::hlsl::rootsig::RootSignatureBindingValidation Validation = -

[llvm-branch-commits] [clang] [llvm] [DirectX] Add Range Overlap validation to `DXILPostOptimizationValidation.cpp` (PR #148919)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
@@ -260,6 +260,93 @@ getRootSignature(RootSignatureBindingInfo &RSBI, return RootSigDesc; } +static void +reportOverlappingRegisters(Module &M, + llvm::hlsl::rootsig::OverlappingRanges Overlap) { + const llvm::hlsl::rootsig::RangeInfo *Info = Overl

[llvm-branch-commits] [clang] [llvm] [DirectX] Add Range Overlap validation to `DXILPostOptimizationValidation.cpp` (PR #148919)

2025-07-17 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Can we add a test for when there are multiple overlaps. Just to make sure multiple diagnostics are being generated. https://github.com/llvm/llvm-project/pull/148919 ___ llvm-branch-commits mailing list

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
@@ -261,10 +300,22 @@ getRootSignature(RootSignatureBindingInfo &RSBI, } static void reportInvalidHandleTy( -Module &M, +Module &M, const llvm::ArrayRef &RDs, const iterator_range::iterator> &Resources) { for (auto Res = Resources.begin(), End = Resour

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic approved this pull request. This is inline with my understanding of the validation. https://github.com/llvm/llvm-project/pull/147573 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.o

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate if Textures/TypedBuffers are being bound in Root Signatures (PR #147573)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147573 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [DirectX] Add Range Overlap validation to `DXILPostOptimizationValidation.cpp` (PR #148919)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
@@ -295,6 +296,94 @@ getRootSignature(RootSignatureBindingInfo &RSBI, return RootSigDesc; } +static void +reportOverlappingRegisters(Module &M, + llvm::hlsl::rootsig::OverlappingRanges Overlap) { + const llvm::hlsl::rootsig::RangeInfo *Info = Overl

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
@@ -3,7 +3,7 @@ target triple = "dxil-unknown-shadermodel6.0-compute" -; CHECK: error: Invalid Root Signature Element: Invalid +; CHECK: error: Invalid Root Signature Element:Invalid inbelic wrote: The missing space here seems like a typo https://github

[llvm-branch-commits] [llvm] [DirectX] Error handling improve in root signature metadata Parser (PR #149232)

2025-07-22 Thread Finn Plummer via llvm-branch-commits
@@ -3,7 +3,7 @@ target triple = "dxil-unknown-shadermodel6.0-compute" -; CHECK: error: Invalid value for MaxLOD: 0 +; CHECK: error: Invalid value for MaxLOD: nan inbelic wrote: Why would this change to nan? https://github.com/llvm/llvm-project/pull/149232 _

<    1   2   3