-
Notifications
You must be signed in to change notification settings - Fork 15.4k
[Offload] Debug message update part 1 #171672
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
hansangbae
wants to merge
2
commits into
llvm:main
Choose a base branch
from
hansangbae:odbg-part1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Update debug messages based on the new method from llvm#170425. Updated the following files. - libomptarget/LegacyAPI.cpp - libomptarget/OpenMP/API.cpp - libomptarget/OpenMP/InteropAPI.cpp
Member
|
@llvm/pr-subscribers-offload Author: Hansang Bae (hansangbae) ChangesUpdate debug messages based on the new method from #170425. Updated the following files.
Patch is 33.08 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/171672.diff 3 Files Affected:
diff --git a/offload/libomptarget/LegacyAPI.cpp b/offload/libomptarget/LegacyAPI.cpp
index 033d7a3ef712a..b76159bbc5836 100644
--- a/offload/libomptarget/LegacyAPI.cpp
+++ b/offload/libomptarget/LegacyAPI.cpp
@@ -19,6 +19,7 @@
#ifdef OMPT_SUPPORT
using namespace llvm::omp::target::ompt;
#endif
+using namespace llvm::omp::target::debug;
EXTERN void __tgt_target_data_begin(int64_t DeviceId, int32_t ArgNum,
void **ArgsBase, void **Args,
@@ -180,7 +181,8 @@ EXTERN int __tgt_target_teams_nowait_mapper(
EXTERN void __kmpc_push_target_tripcount_mapper(ident_t *Loc, int64_t DeviceId,
uint64_t LoopTripcount) {
TIMESCOPE_WITH_IDENT(Loc);
- DP("WARNING: __kmpc_push_target_tripcount has been deprecated and is a noop");
+ ODBG(ODT_Interface) << "WARNING: " << __func__
+ << " has been deprecated and is a noop";
}
EXTERN void __kmpc_push_target_tripcount(int64_t DeviceId,
diff --git a/offload/libomptarget/OpenMP/API.cpp b/offload/libomptarget/OpenMP/API.cpp
index 6e85e5764449c..d20ac48160de7 100644
--- a/offload/libomptarget/OpenMP/API.cpp
+++ b/offload/libomptarget/OpenMP/API.cpp
@@ -39,6 +39,7 @@ EXTERN void ompx_dump_mapping_tables() {
#ifdef OMPT_SUPPORT
using namespace llvm::omp::target::ompt;
#endif
+using namespace llvm::omp::target::debug;
using GenericDeviceTy = llvm::omp::target::plugin::GenericDeviceTy;
@@ -55,7 +56,7 @@ EXTERN int omp_get_num_devices(void) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
size_t NumDevices = PM->getNumDevices();
- DP("Call to omp_get_num_devices returning %zd\n", NumDevices);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << NumDevices;
return NumDevices;
}
@@ -65,7 +66,7 @@ EXTERN int omp_get_device_num(void) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
int HostDevice = omp_get_initial_device();
- DP("Call to omp_get_device_num returning %d\n", HostDevice);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << HostDevice;
return HostDevice;
}
@@ -79,12 +80,14 @@ EXTERN int omp_get_device_from_uid(const char *DeviceUid) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
if (!DeviceUid) {
- DP("Call to omp_get_device_from_uid returning omp_invalid_device\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning omp_invalid_device";
return omp_invalid_device;
}
if (is_initial_device_uid(DeviceUid)) {
- DP("Call to omp_get_device_from_uid returning initial device number %d\n",
- omp_get_initial_device());
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning initial device number "
+ << omp_get_initial_device();
return omp_get_initial_device();
}
@@ -99,7 +102,7 @@ EXTERN int omp_get_device_from_uid(const char *DeviceUid) {
}
}
- DP("Call to omp_get_device_from_uid returning %d\n", DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << DeviceNum;
return DeviceNum;
}
@@ -108,11 +111,12 @@ EXTERN const char *omp_get_uid_from_device(int DeviceNum) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
if (DeviceNum == omp_invalid_device) {
- DP("Call to omp_get_uid_from_device returning nullptr\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning nullptr";
return nullptr;
}
if (DeviceNum == omp_get_initial_device()) {
- DP("Call to omp_get_uid_from_device returning initial device UID\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning initial device UID";
return GenericPluginTy::getHostDeviceUid();
}
@@ -122,7 +126,7 @@ EXTERN const char *omp_get_uid_from_device(int DeviceNum) {
const char *Uid =
DeviceOrErr->RTL->getDevice(DeviceOrErr->RTLDeviceID).getDeviceUid();
- DP("Call to omp_get_uid_from_device returning %s\n", Uid);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << Uid;
return Uid;
}
@@ -130,7 +134,7 @@ EXTERN int omp_get_initial_device(void) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
int HostDevice = omp_get_num_devices();
- DP("Call to omp_get_initial_device returning %d\n", HostDevice);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << HostDevice;
return HostDevice;
}
@@ -201,16 +205,17 @@ EXTERN void llvm_omp_target_unlock_mem(void *Ptr, int DeviceNum) {
EXTERN int omp_target_is_present(const void *Ptr, int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_is_present for device %d and address " DPxMOD "\n",
- DeviceNum, DPxPTR(Ptr));
+ ODBG(ODT_Interface) << "Call to " << __func__ << " for device " << DeviceNum
+ << " and address " << Ptr;
if (!Ptr) {
- DP("Call to omp_target_is_present with NULL ptr, returning false\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with NULL ptr, returning false";
return false;
}
if (DeviceNum == omp_get_initial_device()) {
- DP("Call to omp_target_is_present on host, returning true\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " on host, returning true";
return true;
}
@@ -227,7 +232,7 @@ EXTERN int omp_target_is_present(const void *Ptr, int DeviceNum) {
/*UpdateRefCount=*/false,
/*UseHoldRefCount=*/false);
int Rc = TPR.isPresent();
- DP("Call to omp_target_is_present returns %d\n", Rc);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returns " << Rc;
return Rc;
}
@@ -237,17 +242,17 @@ EXTERN int omp_target_is_accessible(const void *Ptr, size_t Size,
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_is_accessible for device %d, address " DPxMOD
- ", size %zu\n",
- DeviceNum, DPxPTR(Ptr), Size);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " for device " << DeviceNum
+ << ", address " << Ptr << ", size " << Size;
if (!Ptr) {
- DP("Call to omp_target_is_accessible with NULL ptr returning false\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with NULL ptr returning false";
return false;
}
if (DeviceNum == omp_get_initial_device() || DeviceNum == -1) {
- DP("Call to omp_target_is_accessible on host, returning true\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " on host, returning true";
return true;
}
@@ -266,19 +271,19 @@ EXTERN int omp_target_memcpy(void *Dst, const void *Src, size_t Length,
";src_dev=" + std::to_string(SrcDevice) +
";size=" + std::to_string(Length));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offset %zu, "
- "src offset %zu, length %zu\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DstOffset, SrcOffset,
- Length);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offset " << DstOffset
+ << ", src offset " << SrcOffset << ", length " << Length;
if (!Dst || !Src || Length <= 0) {
if (Length == 0) {
- DP("Call to omp_target_memcpy with zero length, nothing to do\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with zero length, nothing to do";
return OFFLOAD_SUCCESS;
}
- REPORT("Call to omp_target_memcpy with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
@@ -288,12 +293,12 @@ EXTERN int omp_target_memcpy(void *Dst, const void *Src, size_t Length,
if (SrcDevice == omp_get_initial_device() &&
DstDevice == omp_get_initial_device()) {
- DP("copy from host to host\n");
+ ODBG(ODT_Interface) << "copy from host to host";
const void *P = memcpy(DstAddr, SrcAddr, Length);
if (P == NULL)
Rc = OFFLOAD_FAIL;
} else if (SrcDevice == omp_get_initial_device()) {
- DP("copy from host to device\n");
+ ODBG(ODT_Interface) << "copy from host to device";
auto DstDeviceOrErr = PM->getDevice(DstDevice);
if (!DstDeviceOrErr)
FATAL_MESSAGE(DstDevice, "%s",
@@ -301,7 +306,7 @@ EXTERN int omp_target_memcpy(void *Dst, const void *Src, size_t Length,
AsyncInfoTy AsyncInfo(*DstDeviceOrErr);
Rc = DstDeviceOrErr->submitData(DstAddr, SrcAddr, Length, AsyncInfo);
} else if (DstDevice == omp_get_initial_device()) {
- DP("copy from device to host\n");
+ ODBG(ODT_Interface) << "copy from device to host";
auto SrcDeviceOrErr = PM->getDevice(SrcDevice);
if (!SrcDeviceOrErr)
FATAL_MESSAGE(SrcDevice, "%s",
@@ -309,7 +314,7 @@ EXTERN int omp_target_memcpy(void *Dst, const void *Src, size_t Length,
AsyncInfoTy AsyncInfo(*SrcDeviceOrErr);
Rc = SrcDeviceOrErr->retrieveData(DstAddr, SrcAddr, Length, AsyncInfo);
} else {
- DP("copy from device to device\n");
+ ODBG(ODT_Interface) << "copy from device to device";
auto SrcDeviceOrErr = PM->getDevice(SrcDevice);
if (!SrcDeviceOrErr)
FATAL_MESSAGE(SrcDevice, "%s",
@@ -341,7 +346,7 @@ EXTERN int omp_target_memcpy(void *Dst, const void *Src, size_t Length,
free(Buffer);
}
- DP("omp_target_memcpy returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -364,12 +369,12 @@ static int libomp_target_memcpy_async_task(int32_t Gtid, kmp_task_t *Task) {
Args->DstOffsets, Args->SrcOffsets, Args->DstDimensions,
Args->SrcDimensions, Args->DstDevice, Args->SrcDevice);
- DP("omp_target_memcpy_rect returns %d\n", Rc);
+ ODBG(ODT_Interface) << " omp_target_memcpy_rect returns " << Rc;
} else {
Rc = omp_target_memcpy(Args->Dst, Args->Src, Args->Length, Args->DstOffset,
Args->SrcOffset, Args->DstDevice, Args->SrcDevice);
- DP("omp_target_memcpy returns %d\n", Rc);
+ ODBG(ODT_Interface) << " omp_target_memcpy returns " << Rc;
}
// Release the arguments object
@@ -443,8 +448,8 @@ EXTERN void *omp_target_memset(void *Ptr, int ByteVal, size_t NumBytes,
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memset, device %d, device pointer %p, size %zu\n",
- DeviceNum, Ptr, NumBytes);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", device " << DeviceNum
+ << ", device pointer " << Ptr << ", size " << NumBytes;
// Behave as a no-op if N==0 or if Ptr is nullptr (as a useful implementation
// of unspecified behavior, see OpenMP spec).
@@ -453,7 +458,7 @@ EXTERN void *omp_target_memset(void *Ptr, int ByteVal, size_t NumBytes,
}
if (DeviceNum == omp_get_initial_device()) {
- DP("filling memory on host via memset");
+ ODBG(ODT_Interface) << "filling memory on host via memset";
memset(Ptr, ByteVal, NumBytes); // ignore return value, memset() cannot fail
} else {
// TODO: replace the omp_target_memset() slow path with the fast path.
@@ -473,12 +478,13 @@ EXTERN void *omp_target_memset(void *Ptr, int ByteVal, size_t NumBytes,
// If the omp_target_alloc has failed, let's just not do anything.
// omp_target_memset does not have any good way to fail, so we
// simply avoid a catastrophic failure of the process for now.
- DP("omp_target_memset failed to fill memory due to error with "
- "omp_target_alloc");
+ ODBG(ODT_Interface)
+ << __func__
+ << " failed to fill memory due to error with omp_target_alloc";
}
}
- DP("omp_target_memset returns %p\n", Ptr);
+ ODBG(ODT_Interface) << __func__ << " returns " << Ptr;
return Ptr;
}
@@ -486,8 +492,8 @@ EXTERN void *omp_target_memset_async(void *Ptr, int ByteVal, size_t NumBytes,
int DeviceNum, int DepObjCount,
omp_depend_t *DepObjList) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memset_async, device %d, device pointer %p, size %zu",
- DeviceNum, Ptr, NumBytes);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", device " << DeviceNum
+ << ", device pointer " << Ptr << ", size " << NumBytes;
// Behave as a no-op if N==0 or if Ptr is nullptr (as a useful implementation
// of unspecified behavior, see OpenMP spec).
@@ -513,11 +519,10 @@ EXTERN int omp_target_memcpy_async(void *Dst, const void *Src, size_t Length,
";src_dev=" + std::to_string(SrcDevice) +
";size=" + std::to_string(Length));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_async, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offset %zu, "
- "src offset %zu, length %zu\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DstOffset, SrcOffset,
- Length);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offset " << DstOffset
+ << ", src offset " << SrcOffset << ", length " << Length;
// Check the source and dest address
if (Dst == nullptr || Src == nullptr)
@@ -531,7 +536,7 @@ EXTERN int omp_target_memcpy_async(void *Dst, const void *Src, size_t Length,
int Rc = libomp_helper_task_creation(Args, &libomp_target_memcpy_async_task,
DepObjCount, DepObjList);
- DP("omp_target_memcpy_async returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -542,23 +547,23 @@ omp_target_memcpy_rect(void *Dst, const void *Src, size_t ElementSize,
const size_t *DstDimensions, const size_t *SrcDimensions,
int DstDevice, int SrcDevice) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_rect, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offsets " DPxMOD ", "
- "src offsets " DPxMOD ", dst dims " DPxMOD ", src dims " DPxMOD ", "
- "volume " DPxMOD ", element size %zu, num_dims %d\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DPxPTR(DstOffsets),
- DPxPTR(SrcOffsets), DPxPTR(DstDimensions), DPxPTR(SrcDimensions),
- DPxPTR(Volume), ElementSize, NumDims);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offsets " << DstOffsets
+ << ", src offsets " << SrcOffsets << ", dst dims "
+ << DstDimensions << ", src dims " << SrcDimensions
+ << ", volume " << Volume << ", element size "
+ << ElementSize << ", num_dims " << NumDims;
if (!(Dst || Src)) {
- DP("Call to omp_target_memcpy_rect returns max supported dimensions %d\n",
- INT_MAX);
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returns max supported dimensions " << INT_MAX;
return INT_MAX;
}
if (!Dst || !Src || ElementSize < 1 || NumDims < 1 || !Volume ||
!DstOffsets || !SrcOffsets || !DstDimensions || !SrcDimensions) {
- REPORT("Call to omp_target_memcpy_rect with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
@@ -585,13 +590,14 @@ omp_target_memcpy_rect(void *Dst, const void *Src, size_t ElementSize,
DstDimensions + 1, SrcDimensions + 1, DstDevice, SrcDevice);
if (Rc) {
- DP("Recursive call to omp_target_memcpy_rect returns unsuccessfully\n");
+ ODBG(ODT_Interface)
+ << "Recursive call to " << __func__ << " returns unsuccessfully";
return Rc;
}
}
}
- DP("omp_target_memcpy_rect returns %d\n", Rc);
+ ODBG(ODT_Interface) << " returns " << Rc;
return Rc;
}
@@ -605,18 +611,18 @@ EXTERN int omp_target_memcpy_rect_async(
";size=" + std::to_string(ElementSize) +
";num_dims=" + std::to_string(NumDims));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_rect_async, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offsets " DPxMOD ", "
- "src offsets " DPxMOD ", dst dims " DPxMOD ", src dims " DPxMOD ", "
- "volume " DPxMOD ", element size %zu, num_dims %d\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DPxPTR(DstOffsets),
- DPxPTR(SrcOffsets), DPxPTR(DstDimensions), DPxPTR(SrcDimensions),
- DPxPTR(Volume), ElementSize, NumDims);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offsets " << DstOffsets
+ << ", src offsets " << SrcOffsets << ", dst dims "
+ << DstDimensions << ", src dims " << SrcDimensions
+ << ", volume " << Volume << ", element size "
+ << ElementSize << ", num_dims " << NumDims;
// Need to check this first to not return OFFLOAD_FAIL instead
if (!Dst && !Src) {
- DP("Call to omp_target_memcpy_rect returns max supported dimensions %d\n",
- INT_MAX);
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returns max supported dimensions " << INT_MAX;
return INT_MAX;
}
@@ -633,7 +639,7 @@ EXTERN int omp_target_memcpy_rect_async(
int Rc = libomp_helper_task_creation(Args, &libomp_target_memcpy_async_task,
DepObjCount, DepObjList);
- DP("omp_target_memcpy_rect_async returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -642,17 +648,18 @@ EXTERN int omp_target_associate_ptr(const void *HostPtr, const void *DevicePtr,
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_associate_ptr with host_ptr " DPxMOD ", "
- "device_ptr " DPxMOD ", size %zu, device_offset %zu, device_num %d\n",
- DPxPTR(HostPtr), DPxPTR(DevicePtr), Size, DeviceOffset, DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with host_ptr " << HostPtr
+ << ", device_ptr " << DevicePtr << ", size " << Size
+ << ", device_offset " << DeviceOffset << ", device_num "
+ << DeviceNum;
if (!HostPtr || !DevicePtr || Size <= 0) {
- REPORT("Call to omp_target_associate_ptr with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
if (DeviceNum == omp_get_initial_device()) {
- REPORT("omp_target_associate_ptr: no association possible on the host\n");
+ REPORT() << __func__ << ": no association possible on the host";
return OFFLOAD_FAIL;
}
@@ -669,25 +676,23 @@ EXTERN int omp_target_associate_ptr(const void *HostPtr, const void *DevicePtr,
int Rc = DeviceOrErr->getMappingInfo().associatePtr(
const_cast<void *>(HostPtr), const_cast<void *>(DeviceAddr), Size);
- DP("omp_target_associate_ptr returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
...
[truncated]
|
adurang
reviewed
Dec 11, 2025
Contributor
Author
|
Committed the suggested changes. |
adurang
approved these changes
Dec 11, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update debug messages based on the new method from #170425. Updated the following files.