[all-commits] [llvm/llvm-project] 128437: [AMDGPU] Introduce asyncmark/wait intrinsics (#180...

Sameer Sahasrabuddhe via All-commits all-commits at lists.llvm.org
Tue Feb 10 23:16:13 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 128437fb6a26f4f19ae2fb6efcce5879a1714fdf
      https://github.com/llvm/llvm-project/commit/128437fb6a26f4f19ae2fb6efcce5879a1714fdf
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-02-11 (Wed, 11 Feb 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
    A llvm/test/CodeGen/AMDGPU/asyncmark-err.ll
    A llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll

  Log Message:
  -----------
  [AMDGPU] Introduce asyncmark/wait intrinsics (#180467)

Asynchronous operations are memory transfers (usually between the global
memory and LDS) that are completed independently at an unspecified
scope. A thread that requests one or more asynchronous transfers can use
async marks to track their completion. The thread waits for each mark to
be completed, which indicates that requests initiated in program order
before this mark have also completed.

For now, we implement asyncmark/wait operations on pre-GFX12
architectures that support "LDS DMA" operations. Future work will extend
support to GFX12Plus architectures that support "true" async operations.

This is part of a stack split out from #173259
- #180467
- #180466

Co-authored-by: Ryan Mitchell ryan.mitchell at amd.com

Fixes: SWDEV-521121



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