[all-commits] [llvm/llvm-project] 095bb3: [AMDGPU][GFX12.5] Reimplement monitor load as an a...

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Mon Feb 2 01:13:43 PST 2026


  Branch: refs/heads/users/pierre-vh/load-monitor-intrinsics-rework
  Home:   https://github.com/llvm/llvm-project
  Commit: 095bb397a21c9690ca10f692fab7e7843848e34c
      https://github.com/llvm/llvm-project/commit/095bb397a21c9690ca10f692fab7e7843848e34c
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll

  Log Message:
  -----------
  [AMDGPU][GFX12.5] Reimplement monitor load as an atomic operation

Load monitor operations make more sense as atomic operations, as
non-atomic operations cannot be used for inter-thread communication w/o
additional synchronization.
The previous built-in made it work because one could just override the CPol
bits, but that bypasses the memory model and forces the user to learn about
ISA bits encoding.

Making load monitor an atomic operation has a couple of advantages. First,
the memory model foundation for it is stronger. We just lean on the existing
rules for atomic operations. Second, the CPol bits are abstracted away from
the user, which avoids leaking ISA details into the API.

This patch also adds supporting memory model and intrinsics documentation to
AMDGPUUsage.

Solves SWDEV-516398.


  Commit: b73352f2880d1382e0a1d414435aceda2157bb84
      https://github.com/llvm/llvm-project/commit/b73352f2880d1382e0a1d414435aceda2157bb84
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll

  Log Message:
  -----------
  Revert to old name


  Commit: 0a3a666bc9a2a2d7ee2ce37bf36ac7762f0a4e1c
      https://github.com/llvm/llvm-project/commit/0a3a666bc9a2a2d7ee2ce37bf36ac7762f0a4e1c
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl

  Log Message:
  -----------
  Use macros for syncscope instead


  Commit: 6e5ff62a475c65e916f725a085995126363ebb8d
      https://github.com/llvm/llvm-project/commit/6e5ff62a475c65e916f725a085995126363ebb8d
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
    A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
    A clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
    A clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip

  Log Message:
  -----------
  Address comments


  Commit: f3cc9085a63c06b66623ef189beeeea36d101bee
      https://github.com/llvm/llvm-project/commit/f3cc9085a63c06b66623ef189beeeea36d101bee
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-02-02 (Mon, 02 Feb 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip

  Log Message:
  -----------
  Address comments


Compare: https://github.com/llvm/llvm-project/compare/f5c80a6618e2...f3cc9085a63c

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