[all-commits] [llvm/llvm-project] 04bddd: [SPIRV] Improve Logical SPIR-V Pointer Access and ...

Steven Perron via All-commits all-commits at lists.llvm.org
Wed Nov 26 03:33:10 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 04bddda08ab2126f74c902f6630c133382170001
      https://github.com/llvm/llvm-project/commit/04bddda08ab2126f74c902f6630c133382170001
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-11-26 (Wed, 26 Nov 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-array.ll
    A llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-simple.ll
    A llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer-struct.ll

  Log Message:
  -----------
  [SPIRV] Improve Logical SPIR-V Pointer Access and GEP Legalization (#169076)

This commit improves the handling of GetElementPtr (GEP) instructions
for
Logical SPIR-V. It includes:

- Rewriting of GEPs that are not allowed in Logical SPIR-V
(specifically,
handling non-zero first indices by rebuilding access chains or adjusting
  types).
- Better deduction of element types for pointer casting.
- Updates to instruction selection to ensure GEPs are correctly lowered
to
OpAccessChain or OpInBoundsAccessChain only when valid (e.g. first index
0).
- Support for standard HLSL cbuffer layouts in tests.



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