From 890bc4652fe4eb8ddc0206247142c68ee9d2f3c0 Mon Sep 17 00:00:00 2001 From: Abhinav Gaba Date: Thu, 28 Aug 2025 06:48:42 -0700 Subject: [PATCH] [Offload] Update LIBOMPTARGET_INFO text for `attach` map-type. (#155509) Also adds two debug dumps regarding pointer-attachment. --- offload/libomptarget/omptarget.cpp | 6 ++++++ offload/libomptarget/private.h | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/offload/libomptarget/omptarget.cpp b/offload/libomptarget/omptarget.cpp index 32e89cc75efc..4c8eba1e7180 100644 --- a/offload/libomptarget/omptarget.cpp +++ b/offload/libomptarget/omptarget.cpp @@ -403,6 +403,12 @@ static int performPointerAttachment(DeviceTy &Device, AsyncInfoTy &AsyncInfo, reinterpret_cast(HstPteeBase); void *TgtPteeBase = reinterpret_cast( reinterpret_cast(TgtPteeBegin) - Delta); + DP("HstPteeBase: " DPxMOD ", HstPteeBegin: " DPxMOD + ", Delta (HstPteeBegin - HstPteeBase): %" PRIu64 ".\n", + DPxPTR(HstPteeBase), DPxPTR(HstPteeBegin), Delta); + DP("TgtPteeBase (TgtPteeBegin - Delta): " DPxMOD ", TgtPteeBegin : " DPxMOD + "\n", + DPxPTR(TgtPteeBase), DPxPTR(TgtPteeBegin)); // Add shadow pointer tracking // TODO: Support shadow-tracking of larger than VoidPtrSize pointers, diff --git a/offload/libomptarget/private.h b/offload/libomptarget/private.h index 0b3d54599048..90e5e1780e66 100644 --- a/offload/libomptarget/private.h +++ b/offload/libomptarget/private.h @@ -55,7 +55,14 @@ printKernelArguments(const ident_t *Loc, const int64_t DeviceId, const char *Type = nullptr; const char *Implicit = (ArgTypes[I] & OMP_TGT_MAPTYPE_IMPLICIT) ? "(implicit)" : ""; - if (ArgTypes[I] & OMP_TGT_MAPTYPE_TO && ArgTypes[I] & OMP_TGT_MAPTYPE_FROM) + + if (ArgTypes[I] & OMP_TGT_MAPTYPE_ATTACH && + ArgTypes[I] & OMP_TGT_MAPTYPE_ALWAYS) + Type = "attach:always"; + else if (ArgTypes[I] & OMP_TGT_MAPTYPE_ATTACH) + Type = "attach"; + else if (ArgTypes[I] & OMP_TGT_MAPTYPE_TO && + ArgTypes[I] & OMP_TGT_MAPTYPE_FROM) Type = "tofrom"; else if (ArgTypes[I] & OMP_TGT_MAPTYPE_TO) Type = "to";