[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-26 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/154454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 01/11] add BinaryModifyJobClass --- clang/include/clang/Driver/Ac

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 01/10] add BinaryModifyJobClass --- clang/include/clang/Driver/Ac

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/9] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-25 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/9] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-22 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/7] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-22 Thread Finn Plummer via cfe-commits
@@ -42,7 +42,21 @@ class LLVM_LIBRARY_VISIBILITY MetalConverter : public Tool { const llvm::opt::ArgList &TCArgs, const char *LinkingOutput) const override; }; + } // namespace hlsl + +class LLVM_LIBRARY_VISIBILITY LLVMObjcopy : public T

[clang] [HLSL][RootSignature] Introduce `HLSLFrontendAction` to implement `rootsig-define` (PR #154639)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154639 >From d91de5f59ab2682b1067c7881a4af995422f9dfc Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 20 Aug 2025 12:06:03 -0700 Subject: [PATCH 1/9] nfc: move invocation of parsing to common location --- .../

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
@@ -4601,6 +4601,16 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args, Actions.push_back(C.MakeAction( LastAction, types::TY_DX_CONTAINER)); } +if (TC.requiresObjcopy(Args)) { + Action *LastAction = Actions.back(); + // llv

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/5] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/154454 >From 0f11eb005276c35599216c60653a5126fbd7ed1e Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 8 Aug 2025 17:16:06 + Subject: [PATCH 1/6] add BinaryModifyJobClass --- clang/include/clang/Driver/Acti

[clang] [llvm] [HLSL][DirectX] Add the Qdx-rootsignature-strip driver option (PR #154454)

2025-08-21 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/154454 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [NFC][HLSL] Remove confusing enum aliases / duplicates (PR #153909)

2025-08-18 Thread Finn Plummer via cfe-commits
https://github.com/inbelic approved this pull request. LGTM. As noted, they were introduced to make an enforced difference between the two types. But given it has created more confusion, I'm happy to merge them together. https://github.com/llvm/llvm-project/pull/153909

[clang] [llvm] [HLSL][DirectX] Add the `Qdx-rootsignature-strip` driver option (PR #152196)

2025-08-11 Thread Finn Plummer via cfe-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/152196 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL][DirectX] Add the `Qdx-rootsignature-strip` driver option (PR #152196)

2025-08-05 Thread Finn Plummer via cfe-commits
inbelic wrote: >From discussion, turning this back into a draft to investigate if we could >have a `dx.codegenopts` or can avoid using metadata based on how some other >options are used. https://github.com/llvm/llvm-project/pull/152196 ___ cfe-commit

[clang] [llvm] [HLSL][DirectX] Add the `Qdx-rootsignature-strip` driver option (PR #152196)

2025-08-05 Thread Finn Plummer via cfe-commits
https://github.com/inbelic converted_to_draft https://github.com/llvm/llvm-project/pull/152196 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL][DirectX] Add the `Qdx-rootsignature-strip` driver option (PR #152196)

2025-08-05 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/152196 This pr adds the `Qdx-rootsignature-strip` to the `Clang` and `CC1` driver options. It also adds `Qstrip-rootsignature` as the DXC compatible alias. It implements this by storing the flag information as part of

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-08-05 Thread Finn Plummer via cfe-commits
@@ -95,6 +97,8 @@ class BindingInfo { LLVM_ABI std::optional findAvailableBinding(dxil::ResourceClass RC, uint32_t Space, int32_t Size); + LLVM_ABI bool isBound(dxil::ResourceClass RC, uint32_t Space, BindingRange B); inbelic wrote: Isn't this equivalen

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-08-05 Thread Finn Plummer via cfe-commits
@@ -271,15 +237,29 @@ static void reportErrors(Module &M, DXILResourceMap &DRM, if (auto RSD = getRootSignature(RSBI, MMI)) { -llvm::hlsl::rootsig::RootSignatureBindingValidation Validation = -initRSBindingValidation(*RSD, tripleToVisibility(MMI.ShaderProfile));

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-08-05 Thread Finn Plummer via cfe-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/146785 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-08-05 Thread Finn Plummer via cfe-commits
@@ -271,15 +237,29 @@ static void reportErrors(Module &M, DXILResourceMap &DRM, if (auto RSD = getRootSignature(RSBI, MMI)) { -llvm::hlsl::rootsig::RootSignatureBindingValidation Validation = -initRSBindingValidation(*RSD, tripleToVisibility(MMI.ShaderProfile));

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-08-05 Thread Finn Plummer via cfe-commits
https://github.com/inbelic commented: I also think some unneeded includes crept in. Eg: `` https://github.com/llvm/llvm-project/pull/146785 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[clang] [llvm] [HLSL][Sema] Use hlsl::BindingInfoBuilder instead of RangeInfo. NFC (PR #150634)

2025-07-31 Thread Finn Plummer via cfe-commits
@@ -1171,147 +1268,67 @@ bool SemaHLSL::handleRootSignatureElements( } } - using RangeInfo = llvm::hlsl::rootsig::RangeInfo; - using OverlappingRanges = llvm::hlsl::rootsig::OverlappingRanges; - using InfoPairT = std::pair; + PerVisibilityBindingChecker BindingChecke

[clang] [llvm] [HLSL][Sema] Use hlsl::BindingInfoBuilder instead of RangeInfo. NFC (PR #150634)

2025-07-31 Thread Finn Plummer via cfe-commits
https://github.com/inbelic approved this pull request. https://github.com/llvm/llvm-project/pull/150634 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Doc][HLSL] Add documentation for root signature (PR #88781)

2025-07-18 Thread Finn Plummer via cfe-commits
inbelic wrote: Closing as this is superseded by https://github.com/llvm/llvm-project/pull/149608 and the documentation from [here](https://github.com/llvm/wg-hlsl/blob/main/proposals/0002-root-signature-in-clang.md). https://github.com/llvm/llvm-project/pull/88781 _

[clang] [Doc][HLSL] Add documentation for root signature (PR #88781)

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

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-17 Thread Finn Plummer via cfe-commits
@@ -24,6 +26,48 @@ using namespace llvm; using namespace llvm::dxil; namespace { +static const char *ResourceClassToString(llvm::dxil::ResourceClass Class) { + switch (Class) { + case ResourceClass::SRV: +return "SRV"; + case ResourceClass::UAV: +return "UAV"; + ca

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-17 Thread Finn Plummer via cfe-commits
@@ -316,6 +316,32 @@ findOverlappingRanges(llvm::SmallVector &Infos) { return Overlaps; } +llvm::SmallVector +findUnboundRanges(const llvm::SmallVectorImpl &Ranges, + const llvm::ArrayRef &Bindings) { + llvm::SmallVector Unbounds; + for (const auto &Range

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-17 Thread Finn Plummer via cfe-commits
@@ -84,8 +128,150 @@ static void reportOverlappingBinding(Module &M, DXILResourceMap &DRM) { } } +static void reportRegNotBound(Module &M, + llvm::hlsl::rootsig::RangeInfo Unbound) { + SmallString<128> Message; + raw_svector_ostream OS(Message

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-17 Thread Finn Plummer via cfe-commits
@@ -136,6 +136,51 @@ struct OverlappingRanges { llvm::SmallVector findOverlappingRanges(llvm::SmallVector &Infos); +class RootSignatureBindingValidation { +private: + llvm::SmallVector Bindings; + struct TypeRange { +uint32_t Start; +uint32_t End; + }; + std::unord

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-17 Thread Finn Plummer via cfe-commits
@@ -316,6 +316,32 @@ findOverlappingRanges(llvm::SmallVector &Infos) { return Overlaps; } +llvm::SmallVector +findUnboundRanges(const llvm::SmallVectorImpl &Ranges, inbelic wrote: ```suggestion findUnboundRanges(ArrayRef &Ranges, ``` https://github.com/ll

[clang] [NFC][SemaHLSL] Fix typo causing float to double conversion (PR #148941)

2025-07-15 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/148941 - it was noted, [here](https://github.com/llvm/llvm-project/pull/145795#discussion_r2208118547), that by accidently not specifying this explicitly as a float it will cause a build warning on MSVC - this commi

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

2025-07-14 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/148649 >From ad3211d057b106bd713374369d567d0c9f08459f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Mon, 14 Jul 2025 15:17:53 + Subject: [PATCH 1/3] [NFC][SemaHLSL] Remove check dependent on non-deterministic

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

2025-07-14 Thread Finn Plummer via cfe-commits
inbelic wrote: Although, thinking a bit more, we can actually remove this test entirely. The FileCheck portion was just a nicety to check that the SourceLocation was pointing correctly for this case. However, this is redundant with the other checks that exist to do so. https://github.com/llvm

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

2025-07-14 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/148649 >From ad3211d057b106bd713374369d567d0c9f08459f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Mon, 14 Jul 2025 15:17:53 + Subject: [PATCH 1/2] [NFC][SemaHLSL] Remove check dependent on non-deterministic

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

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

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

2025-07-14 Thread Finn Plummer via cfe-commits
inbelic wrote: @guy-david @bevin-hansson This resolved the build issue for me locally when using `DLLVM_ENABLE_EXSTENSIVE_CHECKS`, can you confirm this resolves the issue for you as well? https://github.com/llvm/llvm-project/pull/148649 ___ cfe-comm

[clang] [NFC][SemaHLSL] Remove check dependent on non-deterministic order (PR #148649)

2025-07-14 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/148649 - when there are duplicate `RangeInfo`s created and we will attempt to `llvm::sort` or `llvm::stable_sort` them, it does not appear deterministic in which order they will be sorted (because they are equivalent)

[clang] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

2025-07-14 Thread Finn Plummer via cfe-commits
inbelic wrote: @guy-david Thanks for pointing this out, I have a similar report [here](https://github.com/llvm/llvm-project/pull/147115#issuecomment-3069543491). I am taking a look into both now, but I suspect they might be the same issue. https://github.com/llvm/llvm-project/pull/147800 _

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

2025-07-14 Thread Finn Plummer via cfe-commits
inbelic wrote: Hey @bevin-hansson, thanks for pointing this out. Building locally and taking a look into it now. https://github.com/llvm/llvm-project/pull/147115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/ma

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

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

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

2025-07-13 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147832 >From 02e7ad8a92e01b19d85f9bedf831aac161439ccb Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 21:21:53 + Subject: [PATCH 1/3] [HLSL][RootSignature] Implement multiple diagnostics in `Root

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

2025-07-13 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147832 >From 02e7ad8a92e01b19d85f9bedf831aac161439ccb Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 21:21:53 + Subject: [PATCH 1/3] [HLSL][RootSignature] Implement multiple diagnostics in `Root

[clang] [HLSL][RootSignature] Add basic parameter validations of Root Elements (PR #145795)

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

[clang] [HLSL][RootSignature] Add basic parameter validations of Root Elements (PR #145795)

2025-07-11 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145795 >From 43991791409d376e682c6a482941fcc4cd43b0bc Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 19:25:19 + Subject: [PATCH 1/9] add basic integer range validations --- .../clang/Basic/Diag

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

2025-07-11 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147832 >From 02e7ad8a92e01b19d85f9bedf831aac161439ccb Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 21:21:53 + Subject: [PATCH 1/3] [HLSL][RootSignature] Implement multiple diagnostics in `Root

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

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

[clang] [HLSL][RootSignature] Add basic parameter validations of Root Elements (PR #145795)

2025-07-11 Thread Finn Plummer via cfe-commits
@@ -1083,6 +1084,90 @@ void SemaHLSL::ActOnFinishRootSignatureDecl( bool SemaHLSL::handleRootSignatureElements( ArrayRef Elements) { + // Define some common error handling functions + bool HadError = false; + auto ReportError = [this, &HadError](SourceLocation Loc, uint

[clang] [HLSL][RootSignature] Add basic parameter validations of Root Elements (PR #145795)

2025-07-11 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145795 >From 43991791409d376e682c6a482941fcc4cd43b0bc Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 19:25:19 + Subject: [PATCH 1/8] add basic integer range validations --- .../clang/Basic/Diag

[clang] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

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

[clang] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

2025-07-11 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147800 >From a510b930402cd4a6a00f253093d1a3ddfab918ac Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 15:50:55 + Subject: [PATCH 01/11] remove confusing hlsl_unexpected_end_of_params diagnostic

[clang] [llvm] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

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

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

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

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

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

[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via cfe-commits
@@ -14,10 +14,129 @@ #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H +#include "DXILRootSignature.h" +#include "llvm/ADT/IntervalMap.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR

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

2025-07-10 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From 564f6995f40d80acddbda1fce58ddec38613d9fa Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 01/15] nfc: introduce wrapper `RootSignatureElement` around `Root

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

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

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

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

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

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

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-10 Thread Finn Plummer via cfe-commits
@@ -0,0 +1,13 @@ +// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -fsyntax-only %s -verify + +// expected-no-diagnostics + +// Test that we have consistent behaviour for comma parsing. Namely: +// - a single trailing comma is allowed after any parameter +// - a

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-09 Thread Finn Plummer via cfe-commits
inbelic wrote: Added a test to show that it is consistent in allowing a trailing comma after parameter/values https://github.com/llvm/llvm-project/pull/147350 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-09 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147350 >From b8644c7d9a44f9480cdbe0b3c46f0899cdcffc28 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Sat, 5 Jul 2025 01:41:26 + Subject: [PATCH 1/9] fix for root elements --- clang/lib/Parse/ParseHLSLRootSigna

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-09 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147350 >From b8644c7d9a44f9480cdbe0b3c46f0899cdcffc28 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Sat, 5 Jul 2025 01:41:26 + Subject: [PATCH 1/7] fix for root elements --- clang/lib/Parse/ParseHLSLRootSigna

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-08 Thread Finn Plummer via cfe-commits
@@ -34,3 +34,7 @@ void bad_root_signature_5() {} // expected-error@+1 {{expected ')' to denote end of parameters, or, another valid parameter of RootConstants}} [RootSignature(MultiLineRootSignature)] void bad_root_signature_6() {} + +// expected-error@+1 {{expected end of str

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

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

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

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

[clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

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

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

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

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

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

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

2025-07-04 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147084 >From 34d3879022f65d51002d3abe3aec50a952ca6e18 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 4 Jul 2025 00:13:32 + Subject: [PATCH 1/6] nfc: add phony ASTContext and StringLiteral to ParseHLSL ---

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

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

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

2025-07-04 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147084 >From abef31336baec05dafe2cc7ae32e753790322f68 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 4 Jul 2025 00:13:32 + Subject: [PATCH 1/5] nfc: add phony ASTContext and StringLiteral to ParseHLSL ---

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

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

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

2025-07-04 Thread Finn Plummer via cfe-commits
@@ -22,3 +23,14 @@ void bad_root_signature_4() {} // expected-error@+1 {{expected ')' to denote end of parameters, or, another valid parameter of RootConstants}} [RootSignature("RootConstants(b0, num32BitConstants = 1, invalid)")] void bad_root_signature_5() {} + +#define Mult

[clang] [HLSL][RootSignature] Correct `RootSignatureParser` to use correct `SourceLocation` in diagnostics (PR #147084)

2025-07-04 Thread Finn Plummer via cfe-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147084 The `SourceLocation` of a `RootSignatureToken` is incorrectly set to be the "offset" into the concatenated string that denotes the rootsignature. This causes an issue when the `StringLiteral` is a multi-line ex

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

2025-07-04 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From e616ddee9cfaaaf697e4bd83d18e2d10ea86 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/6] update `setDefaultFlags` --- .../clang/Parse/ParseHLSLRootS

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

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

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From e616ddee9cfaaaf697e4bd83d18e2d10ea86 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/6] update `setDefaultFlags` --- .../clang/Parse/ParseHLSLRootS

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/146124 >From 91f0a282662bf62e35b6b6254cb96e48a2062162 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:56:24 + Subject: [PATCH 1/7] nfc: move resource range analysis to `HLSLRootSignature` ---

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/146124 >From 91f0a282662bf62e35b6b6254cb96e48a2062162 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:56:24 + Subject: [PATCH 1/6] nfc: move resource range analysis to `HLSLRootSignature` ---

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

2025-07-03 Thread Finn Plummer via cfe-commits
@@ -0,0 +1,56 @@ +//===- RootSignatureMetadata.h - HLSL Root Signature helpers --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

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

2025-07-03 Thread Finn Plummer via cfe-commits
@@ -103,7 +51,7 @@ class ResourceRange { getOverlapping(const RangeInfo &Info) const; // Return the mapped RangeInfo at X or nullptr if no mapping exists - LLVM_ABI const RangeInfo *lookup(uint32_t X) const; + const RangeInfo *lookup(uint32_t X) const; i

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

2025-07-03 Thread Finn Plummer via cfe-commits
@@ -0,0 +1,194 @@ +//===- RootSignatureMetadata.h - HLSL Root Signature helpers --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From e616ddee9cfaaaf697e4bd83d18e2d10ea86 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/6] update `setDefaultFlags` --- .../clang/Parse/ParseHLSLRootS

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/146124 >From 91f0a282662bf62e35b6b6254cb96e48a2062162 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:56:24 + Subject: [PATCH 1/5] nfc: move resource range analysis to `HLSLRootSignature` ---

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

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

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

2025-07-03 Thread Finn Plummer via cfe-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From e616ddee9cfaaaf697e4bd83d18e2d10ea86 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/5] update `setDefaultFlags` --- .../clang/Parse/ParseHLSLRootS

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

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

[clang] [llvm] [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (PR #145986)

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

[clang] [llvm] [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (PR #145986)

2025-07-03 Thread Finn Plummer via cfe-commits
@@ -274,11 +286,23 @@ TEST(HLSLRootSignatureTest, NoneRootFlagsDump) { } TEST(HLSLRootSignatureTest, AllRootFlagsDump) { - RootFlags Flags = RootFlags::ValidFlags; + using llvm::dxbc::RootFlags; + auto ValidRootFlags = RootFlags::AllowInputAssemblerInputLayout | +

[clang] [llvm] [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (PR #145986)

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

[clang] [llvm] [NFC][HLSL][DirectX] Let `HLSLRootSignature` reuse the `dxbc` defined enums (PR #145986)

2025-07-03 Thread Finn Plummer via cfe-commits
@@ -274,11 +286,23 @@ TEST(HLSLRootSignatureTest, NoneRootFlagsDump) { } TEST(HLSLRootSignatureTest, AllRootFlagsDump) { - RootFlags Flags = RootFlags::ValidFlags; + using llvm::dxbc::RootFlags; + auto ValidRootFlags = RootFlags::AllowInputAssemblerInputLayout | +

  1   2   3   4   5   6   7   8   >