[all-commits] [llvm/llvm-project] 6d13cc: [HLSL] Implement `WaveReadLaneAt` intrinsic (#111010)

Finn Plummer via All-commits all-commits at lists.llvm.org
Tue Oct 15 18:50:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d13cc9411b998aabf1a55e0813236ba7a278929
      https://github.com/llvm/llvm-project/commit/6d13cc9411b998aabf1a55e0813236ba7a278929
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveReadLaneAt-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/WaveReadLaneAt.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll

  Log Message:
  -----------
  [HLSL] Implement `WaveReadLaneAt` intrinsic (#111010)

- create a clang built-in in Builtins.td
    - add semantic checking in SemaHLSL.cpp
    - link the WaveReadLaneAt api in hlsl_intrinsics.h
    - add lowering to spirv backend op GroupNonUniformShuffle
      with Scope = 2 (Group) in SPIRVInstructionSelector.cpp
    - add WaveReadLaneAt intrinsic to IntrinsicsDirectX.td and mapping
      to DXIL.td

    - add tests for HLSL intrinsic lowering to spirv intrinsic in
      WaveReadLaneAt.hlsl
    - add tests for sema checks in WaveReadLaneAt-errors.hlsl
    - add spir-v backend tests in WaveReadLaneAt.ll
    - add test to show scalar dxil lowering functionality

    - note that this doesn't include support for the scalarizer to
      handle WaveReadLaneAt will be added in a future pr

This is the first part #70104



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