[llvm] [AMDGPU] Update code object metadata for kernarg preload (PR #134666)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 23 09:59:47 PDT 2025


================
@@ -745,5 +782,49 @@ void MetadataStreamerMsgPackV6::emitVersion() {
   getRootMetadata("amdhsa.version") = Version;
 }
 
+void MetadataStreamerMsgPackV6::emitHiddenKernelArg(
+    const DataLayout &DL, Type *ArgTy, Align Alignment, StringRef ArgName,
+    unsigned &Offset, msgpack::ArrayDocNode Args,
+    KernArgPreload::HiddenArg HiddenArg, const AMDGPUFunctionArgInfo *ArgInfo) {
+  assert(ArgInfo && HiddenArg != KernArgPreload::END_HIDDEN_ARGS);
+
+  SmallString<16> PreloadStr;
+  const auto *PreloadDesc = ArgInfo->getHiddenArgPreloadDescriptor(HiddenArg);
+  if (PreloadDesc) {
+    const auto &Regs = PreloadDesc->Regs;
+    for (unsigned I = 0; I < Regs.size(); ++I) {
+      if (I > 0)
+        PreloadStr += " ";
----------------
shiltian wrote:

might be faster to do `.push_back(' ')`

https://github.com/llvm/llvm-project/pull/134666


More information about the llvm-commits mailing list