[PATCH] D139730: [OpenMP][DeviceRTL][AMDGPU] Support code object version 5

Saiyedul Islam via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 18 12:05:54 PDT 2023


saiislam added a comment.

In D139730#4597504 <https://reviews.llvm.org/D139730#4597504>, @jhuber6 wrote:

> Some nits. I'm assuming we're getting the code object in the backend now? We'll need to make sure that `-Wl,--amdhsa-code-object-version` is passed to the clang invocation inside of the `clang-linker-wrapper` to handle `-save-temps` mode.

Clang-linker-wrapper was not passing `-mllvm` option to the clang backend.



================
Comment at: openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h:36
 
-// The implicit arguments of AMDGPU kernels.
-struct AMDGPUImplicitArgsTy {
-  uint64_t OffsetX;
-  uint64_t OffsetY;
-  uint64_t OffsetZ;
-  uint64_t HostcallPtr;
-  uint64_t Unused0;
-  uint64_t Unused1;
-  uint64_t Unused2;
+enum IMPLICITARGS : uint32_t {
+  COV4_SIZE = 56,
----------------
jhuber6 wrote:
> I'm still not a fan of replacing the struct. The mnemonic of having a struct is much more user friendly.
> ```
> ImplicitArgsTy Args{};
> std::memset(&Args, sizeof(ImplicitArgsTy), 0);
> ...
> ```
> If we don't use something, just make it some random bytes, e.g.
> ```
> struct ImplicitArgsTy {
>   uint64_t OffsetX;
>   uint8_t Unused[64]; // 64 byte offset.
> };
> ```
Replaced.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139730/new/

https://reviews.llvm.org/D139730



More information about the cfe-commits mailing list