[all-commits] [llvm/llvm-project] 056b4a: Emit debug type vector (#200056)

Diego Novillo via All-commits all-commits at lists.llvm.org
Fri Jun 12 03:59:29 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 056b4a71c07ff19e38c5cf475fa31fd1271b460d
      https://github.com/llvm/llvm-project/commit/056b4a71c07ff19e38c5cf475fa31fd1271b460d
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-06-12 (Fri, 12 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector-skipped.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector.ll

  Log Message:
  -----------
  Emit debug type vector (#200056)

This emits `DebugTypeVector` for HLSL `float4`-style vectors.

`partitionTypes()` separates vector `DICompositeType` nodes from basic
types so both can be visited in a single pass over the debug metadata. A
new `emitDebugTypeVector()` helper builds the `DebugTypeVector`
instruction and looks up the base-type register in `DebugTypeRegs`.

The helper skips four cases silently:

1. Absent or non-`DIBasicType` base type: only scalar element types are
supported for now.
2. Base type not yet emitted: the type was not reached during the
`DebugTypeBasic` pass.
3. Multiple subranges: `DebugTypeVector` models one-dimensional vectors
only (NSDI cannot encode multi-subrange types).
4. Non-constant subrange count: NSDI cannot represent variable-length
counts.

Added a new test in
`test/CodeGen/SPIRV/debug-info/debug-type-vector.ll`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list