[PATCH] D125165: [Clang] Introduce clang-offload-packager tool to bundle device files

Yaxun Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 10 08:20:45 PDT 2022


yaxunl added inline comments.


================
Comment at: clang/docs/ClangOffloadBinary.rst:15
+metadata. We use a custom binary format for bundling all the device images
+together. The image format is a small header wrapping around a string map. This
+tool creates bundled binaries so that they can be embedded into the host to
----------------
It would help if more details are given, e.g, offset and size of members of the header and layout of the string map.


================
Comment at: clang/test/Frontend/embed-object.c:3
 
-// CHECK: @[[OBJECT:.+]] = private constant [120 x i8] c"\10\FF\10\AD{{.*}}", section ".llvm.offloading", align 8
+// CHECK: @[[OBJECT:.+]] = private constant [0 x i8] zeroinitializer, section ".llvm.offloading", align 8
 // CHECK: @llvm.compiler.used = appending global [1 x ptr] [ptr @[[OBJECT]]], section "llvm.metadata"
----------------
Is this due to the embedded object being empty?

So now the bitcode for different targets are bundled by clang-offload-packager then embedded as one file in the relocatable object file?

In the old scheme the bitcode for different targets are bundled by clang-offload-bundler then embedded in the relocatable object file, right?

What's the advantage of clang-offload-packager compared with clang-offload-bundler?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125165



More information about the cfe-commits mailing list