HLSL Working Group

2026-09-10 - HLSL Working Group Minutes

Discussion Topics

  • This week in HLSL
  • Requests for Review

Meeting Notes

This Week in HLSL

This week had 29 PRs merged in HLSL.

Work on atomics and textures continued in HLSL. We saw various cleanups and bug fixes in both the DirectX and SPIR-V backends, and the offload test suite had the usual test enablement churn.

There were 27 new PRs opened, and there are 58 PRs currently ongoing.

For a full list of merged PRs, see the appendix.

Requests for Review

No requests for review this week.

Appendix: Merged PRs

HLSL Frontend

  • Add InterlockedAnd standalone builtin and resource methods. (llvm/llvm-project#219317)
  • [HLSL] Add Texture3D and RWTexture3D types (llvm/llvm-project#220438)
  • [HLSL] Fix float type promotion to double of the select intrinsic (llvm/llvm-project#222056)

DirectX Backend

  • Use FUNC_CODE_INST_ATOMICRMW_OLD legacy code for bitcode writer. (llvm/llvm-project#219277)
  • [DirectX] Refactor DXILDebugInfo into a pass (llvm/llvm-project#220989)
  • [Scalarizer][DirectX] Teach the Scalarizer to handle integer bitcasts between scalars and vectors. (llvm/llvm-project#221033)
  • [IR][DirectX] Drop IsTokenLike from dx.* target types (llvm/llvm-project#222130)

SPIR-V Backend

  • Add support for NSDI DebugScope, DebugNoScope and DebugInlinedAt (llvm/llvm-project#218959)
  • [SPIR-V] Fix swapped type sets in G_LROUND/G_LLROUND legalization (llvm/llvm-project#218998)
  • [SPIRV] Add matrix type legalization for many float global opcodes (llvm/llvm-project#220782)
  • [SPIRV] Fix inconsistent operand order for counter resource intrinsic (llvm/llvm-project#221646)
  • [SPIRV] Preserve DebugGlobalVariable emission order. (llvm/llvm-project#221759)
  • [SPIR-V] Fix legalized store of single element vector to vector (llvm/llvm-project#222253)
  • [SPIR-V] Fix legalization rewriting non-zero size arrays to pointers (llvm/llvm-project#222276)

Offload Test Suite

  • Add InterlockedExchange tests (llvm/offload-test-suite#1437)
  • Add tests for tan() (llvm/offload-test-suite#1479)
  • Migrate Intel SKU to frequent build method (llvm/offload-test-suite#1486)
  • Remove UNSUPPORTED labels from tests that are supported (llvm/offload-test-suite#1487)
  • Add InterlockedCompareStoreFloatBitwise tests (llvm/offload-test-suite#1490)
  • Update passing InterlockedXYZ tests (llvm/offload-test-suite#1500)
  • [DX] Enable countbits16 for clang (llvm/offload-test-suite#1502)
  • [VK] Enable tan matrix for clang (llvm/offload-test-suite#1503)
  • XFAIL countbit.16 on AppleM2 (llvm/offload-test-suite#1508)
  • [Clang] Disable test that exposes updatecounter phi selection (llvm/offload-test-suite#1509)

Docs

  • [docs] Remove TOCs from Clang docs to prepare for Furo migration (llvm/llvm-project#214868)

Other

  • [LLVM][NFC] Use +inf/-inf syntax for float infinity literals (llvm/llvm-project#221019)
  • [LLVM][NFC] Use +inf/-inf syntax for all floating point infinity literals (llvm/llvm-project#221056)
  • [llvm][NFC] canonicalize qnan hexadecimal literals to +-qnan (llvm/llvm-project#221379)
  • [GlobalISel] Fix duplicate finalizeLowering calls (NFC) (llvm/llvm-project#221902)