6 Commits

Author SHA1 Message Date
Helena Kotas
945e7d33e8
[DirectX] Update resource type names in DXIL metadata to include element type (#140937)
Update resource type names for globals variables that we generate in `DXILTranslateMetadata` pass to include element type. This change prevents duplicate types for identical resources and brings the DXIL metadata names it closer to what DXC generates.
2025-05-29 11:44:34 -07:00
Helena Kotas
69c30f73a4
[DirectX] Use resource names when generating DXIL metadata (#140635)
Use resource names gathered during the DXIL resource analysis when creating DXIL resources metadata.

Part 4/4 of https://github.com/llvm/llvm-project/issues/105059

Closes #105059
2025-05-29 07:54:48 -07:00
Helena Kotas
27675ccdd6
[DirectX] Add resource name argument to llvm.dx.handlefrom[implicit]binding intrinsics (#139991)
Adds resource name argument to `llvm.dx.handlefrombinding` and `llvm.dx.handlefromimplicitbinding` intrinsics.
SPIR-V currently does not seem to need the resource names so this change only affects DirectX binding intrinsics.

Part 2/4 of https://github.com/llvm/llvm-project/issues/105059
2025-05-27 22:57:01 -07:00
Helena Kotas
b586ddfd28
[HLSL][NFC] Add resource globals created for metadata to test baseline (#140620)
Adds checks for resource globals that were created for DXIL metadata.
The names of the globals and the names of the types will be changing
soon. Adding these to the baseline will make it easier to see what is
changing.
2025-05-19 16:08:59 -07:00
Justin Bogner
b3b0070782 Follow up to #130230 - update missed test 2025-03-13 09:32:43 -07:00
Helena Kotas
8d7cb5d05b
[HLSL][NFC] Update resource metadata tests to not use obsolete annotations (#130222)
Update resource metadata tests to generate metadata based on
`llvm.dx.resource.handlefrombinding` data collected in
`DXILResourceBindingAnalysis`.

- `UAVMetadata.ll` is updated, renamed to `uav_metadata.ll`, and placed
under `Metadata` directory in `llvm/test/CodeGen/DirectX`
- `srv_metadata.ll` is a new test for SRV resource metadata
- `cbuf.ll` and `legacy_cb_layout_{0|1}.ll` tests were merged into
`cbuffer_metadata.ll`
- `legacy_cb_layout_{2|3}.ll` tests we moved to `cbuffer.hlsl` in Clang
CodeGen because there were more of a layout than metadata tests

Related to [#114126](https://github.com/llvm/llvm-project/issues/114126)
2025-03-11 22:22:25 -07:00