[Openmp-commits] [PATCH] D73076: [libomptarget] Implement hip atomic functions in terms of intrinsics

Jon Chesterfield via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Jan 20 18:07:14 PST 2020


JonChesterfield created this revision.
JonChesterfield added reviewers: jdoerfert, ABataev, hfinkel, grokos.
Herald added subscribers: openmp-commits, jfb, mgorny, jvesely.
Herald added a project: OpenMP.

[libomptarget] Implement hip atomic functions in terms of intrinsics

All but atomicInc can be implemented using type generic clang intrinsics.
There is not yet a corresponding intrinsic for atomicInc in clang, only one in
LLVM. This proposal uses an IR source file to fill in that gap as a temporary
measure.

The function takes address space, ordering, scope, volatile. Each carefully
chosen to correspond to the other atomics in use, but using magic numbers as
we can't #include the corresponding C++ header. This argues that the clang
intrinsic is the better solution.

Also happy to leave atomicInc as an unresolved symbol for now.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D73076

Files:
  openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
  openmp/libomptarget/deviceRTLs/amdgcn/src/atomic_inc.ll
  openmp/libomptarget/deviceRTLs/amdgcn/src/hip_atomics.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73076.239220.patch
Type: text/x-patch
Size: 4530 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20200121/a7f3a933/attachment.bin>


More information about the Openmp-commits mailing list