[Offload] Debug message update part 1 (#171672)

Update debug messages based on the new method from #170425. Updated the
following files.
- libomptarget/LegacyAPI.cpp
- libomptarget/OpenMP/API.cpp
- libomptarget/OpenMP/InteropAPI.cpp
diff --git a/offload/libomptarget/LegacyAPI.cpp b/offload/libomptarget/LegacyAPI.cpp
index 033d7a3..b76159b 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 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 6e85e57..dddd494 100644
--- a/offload/libomptarget/OpenMP/API.cpp
+++ b/offload/libomptarget/OpenMP/API.cpp
@@ -39,6 +39,7 @@
 #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 @@
   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 @@
   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 @@
   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 @@
     }
   }
 
-  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 @@
   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 @@
 
   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 @@
   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 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 @@
                                                    /*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 @@
                                     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 @@
                          ";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 @@
 
   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 @@
     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 @@
     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 @@
     free(Buffer);
   }
 
-  DP("omp_target_memcpy returns %d\n", Rc);
+  ODBG(ODT_Interface) << __func__ << " returns " << Rc;
   return Rc;
 }
 
@@ -364,12 +369,12 @@
         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 @@
                                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 @@
   }
 
   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 @@
       // 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 @@
                                      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 @@
                          ";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 @@
   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 @@
                        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 @@
           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 @@
                          ";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 @@
   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 @@
                                     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 @@
 
   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;
   return Rc;
 }
 
 EXTERN int omp_target_disassociate_ptr(const void *HostPtr, int DeviceNum) {
   TIMESCOPE();
   OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
-  DP("Call to omp_target_disassociate_ptr with host_ptr " DPxMOD ", "
-     "device_num %d\n",
-     DPxPTR(HostPtr), DeviceNum);
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with host_ptr " << HostPtr
+                      << ", device_num " << DeviceNum;
 
   if (!HostPtr) {
-    REPORT("Call to omp_target_associate_ptr with invalid host_ptr\n");
+    REPORT() << "Call to " << __func__ << " with invalid host_ptr";
     return OFFLOAD_FAIL;
   }
 
   if (DeviceNum == omp_get_initial_device()) {
-    REPORT(
-        "omp_target_disassociate_ptr: no association possible on the host\n");
+    REPORT() << __func__ << ": no association possible on the host";
     return OFFLOAD_FAIL;
   }
 
@@ -702,30 +707,31 @@
 
   int Rc = DeviceOrErr->getMappingInfo().disassociatePtr(
       const_cast<void *>(HostPtr));
-  DP("omp_target_disassociate_ptr returns %d\n", Rc);
+  ODBG(ODT_Interface) << __func__ << " returns " << Rc;
   return Rc;
 }
 
 EXTERN void *omp_get_mapped_ptr(const void *Ptr, int DeviceNum) {
   TIMESCOPE();
   OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
-  DP("Call to omp_get_mapped_ptr with ptr " DPxMOD ", device_num %d.\n",
-     DPxPTR(Ptr), DeviceNum);
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with ptr " << Ptr
+                      << ", device_num " << DeviceNum;
 
   if (!Ptr) {
-    REPORT("Call to omp_get_mapped_ptr with nullptr.\n");
+    REPORT() << "Call to " << __func__ << " with nullptr.";
     return nullptr;
   }
 
   int NumDevices = omp_get_initial_device();
   if (DeviceNum == NumDevices) {
-    DP("Device %d is initial device, returning Ptr " DPxMOD ".\n", DeviceNum,
-       DPxPTR(Ptr));
+    ODBG(ODT_Interface) << "Device " << DeviceNum
+                        << " is initial device, returning Ptr " << Ptr;
     return const_cast<void *>(Ptr);
   }
 
   if (NumDevices <= DeviceNum) {
-    DP("DeviceNum %d is invalid, returning nullptr.\n", DeviceNum);
+    ODBG(ODT_Interface) << "DeviceNum " << DeviceNum
+                        << " is invalid, returning nullptr.";
     return nullptr;
   }
 
@@ -738,12 +744,12 @@
                                                    /*UpdateRefCount=*/false,
                                                    /*UseHoldRefCount=*/false);
   if (!TPR.isPresent()) {
-    DP("Ptr " DPxMOD "is not present on device %d, returning nullptr.\n",
-       DPxPTR(Ptr), DeviceNum);
+    ODBG(ODT_Interface) << "Ptr " << Ptr
+                        << "is not present on device %d, returning nullptr.";
     return nullptr;
   }
 
-  DP("omp_get_mapped_ptr returns " DPxMOD ".\n", DPxPTR(TPR.TargetPointer));
+  ODBG(ODT_Interface) << __func__ << " returns " << TPR.TargetPointer << ".";
 
   return TPR.TargetPointer;
 }
diff --git a/offload/libomptarget/OpenMP/InteropAPI.cpp b/offload/libomptarget/OpenMP/InteropAPI.cpp
index b307011..258f711 100644
--- a/offload/libomptarget/OpenMP/InteropAPI.cpp
+++ b/offload/libomptarget/OpenMP/InteropAPI.cpp
@@ -18,6 +18,8 @@
 #include <cstdlib>
 #include <cstring>
 
+using namespace llvm::omp::target::debug;
+
 namespace {
 omp_interop_rc_t getPropertyErrorType(omp_interop_property_t Property) {
   switch (Property) {
@@ -191,11 +193,11 @@
                                      interop_spec_t *Prefers,
                                      interop_ctx_t *Ctx, dep_pack_t *Deps) {
 
-  DP("Call to %s with device_num %" PRId64 ", interop type %" PRId32
-     ", number of preferred specs %" PRId32 "%s%s\n",
-     __func__, DeviceNum, InteropType, NumPrefers,
-     Ctx->flags.implicit ? " (implicit)" : "",
-     Ctx->flags.nowait ? " (nowait)" : "");
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with device_num "
+                      << DeviceNum << ", interop type " << InteropType
+                      << ", number of preferred specs " << NumPrefers
+                      << (Ctx->flags.implicit ? " (implicit)" : "")
+                      << (Ctx->flags.nowait ? " (nowait)" : "");
 
   if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED)
     return omp_interop_none;
@@ -208,8 +210,8 @@
 
   if (InteropType == kmp_interop_type_targetsync) {
     if (Ctx->flags.nowait)
-      DP("Warning: nowait flag on interop creation not supported yet. "
-         "Ignored\n");
+      ODBG(ODT_Interface) << "Warning: nowait flag on interop creation not "
+                             "supported yet. Ignored";
     if (Deps)
       __kmpc_omp_wait_deps(LocRef, gtid, Deps->ndeps, Deps->deplist,
                            Deps->ndeps_noalias, Deps->noalias_deplist);
@@ -217,9 +219,9 @@
 
   auto DeviceOrErr = PM->getDevice(DeviceNum);
   if (!DeviceOrErr) {
-    DP("Couldn't find device %" PRId64
-       " while constructing interop object: %s\n",
-       DeviceNum, toString(DeviceOrErr.takeError()).c_str());
+    ODBG(ODT_Interface) << "Couldn't find device " << DeviceNum
+                        << " while constructing interop object: "
+                        << toString(DeviceOrErr.takeError());
     return omp_interop_none;
   }
   auto &Device = *DeviceOrErr;
@@ -227,12 +229,15 @@
   auto InteropSpec = Device.RTL->select_interop_preference(
       DeviceNum, InteropType, NumPrefers, Prefers);
   if (InteropSpec.fr_id == tgt_fr_none) {
-    DP("Interop request not supported by device %" PRId64 "\n", DeviceNum);
+    ODBG(ODT_Interface) << "Interop request not supported by device "
+                        << DeviceNum;
     return omp_interop_none;
   }
-  DP("Selected interop preference is fr_id=%s%s impl_attrs=%" PRId64 "\n",
-     getForeignRuntimeIdToStr((tgt_foreign_runtime_id_t)InteropSpec.fr_id),
-     InteropSpec.attrs.inorder ? " inorder" : "", InteropSpec.impl_attrs);
+  ODBG(ODT_Interface) << "Selected interop preference is fr_id="
+                      << getForeignRuntimeIdToStr(
+                             (tgt_foreign_runtime_id_t)InteropSpec.fr_id)
+                      << (InteropSpec.attrs.inorder ? " inorder" : "")
+                      << " impl_attrs=" << InteropSpec.impl_attrs;
 
   if (Ctx->flags.implicit) {
     // This is a request for an RTL managed interop object.
@@ -241,17 +246,17 @@
       if (iop->isCompatibleWith(InteropType, InteropSpec, DeviceNum, gtid)) {
         Interop = iop;
         Interop->markDirty();
-        DP("Reused interop " DPxMOD " from device number %" PRId64
-           " for gtid %" PRId32 "\n",
-           DPxPTR(Interop), DeviceNum, gtid);
+        ODBG(ODT_Interface)
+            << "Reused interop " << Interop << " from device number "
+            << DeviceNum << " for gtid " << gtid;
         return Interop;
       }
     }
   }
 
   Interop = Device.RTL->create_interop(DeviceNum, InteropType, &InteropSpec);
-  DP("Created an interop " DPxMOD " from device number %" PRId64 "\n",
-     DPxPTR(Interop), DeviceNum);
+  ODBG(ODT_Interface) << "Created an interop " << Interop
+                      << " from device number " << DeviceNum;
 
   if (Ctx->flags.implicit) {
     // register the new implicit interop in the RTL
@@ -268,16 +273,17 @@
 int __tgt_interop_use60(ident_t *LocRef, omp_interop_val_t *Interop,
                         interop_ctx_t *Ctx, dep_pack_t *Deps) {
   bool Nowait = Ctx->flags.nowait;
-  DP("Call to %s with interop " DPxMOD ", nowait %" PRId32 "\n", __func__,
-     DPxPTR(Interop), Nowait);
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop
+                      << ", nowait " << Nowait;
   if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
     return OFFLOAD_FAIL;
 
   if (Interop->interop_type == kmp_interop_type_targetsync) {
     if (Deps) {
       if (Nowait) {
-        DP("Warning: nowait flag on interop use with dependences not supported"
-           "yet. Ignored\n");
+        ODBG(ODT_Interface)
+            << "Warning: nowait flag on interop use with dependences "
+               "not supported yet. Ignored";
         Nowait = false;
       }
 
@@ -288,8 +294,8 @@
 
   auto DeviceOrErr = Interop->getDevice();
   if (!DeviceOrErr) {
-    REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(Interop),
-           toString(DeviceOrErr.takeError()).c_str());
+    REPORT() << "Failed to get device for interop " << Interop << ": "
+             << toString(DeviceOrErr.takeError());
     return OFFLOAD_FAIL;
   }
   auto &IOPDevice = *DeviceOrErr;
@@ -309,15 +315,16 @@
 
 int __tgt_interop_release(ident_t *LocRef, omp_interop_val_t *Interop,
                           interop_ctx_t *Ctx, dep_pack_t *Deps) {
-  DP("Call to %s with interop " DPxMOD "\n", __func__, DPxPTR(Interop));
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop;
 
   if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
     return OFFLOAD_FAIL;
 
   if (Interop->interop_type == kmp_interop_type_targetsync) {
     if (Ctx->flags.nowait)
-      DP("Warning: nowait flag on interop destroy not supported "
-         "yet. Ignored\n");
+      ODBG(ODT_Interface)
+          << "Warning: nowait flag on interop destroy not supported yet. "
+             "Ignored";
     if (Deps) {
       __kmpc_omp_wait_deps(LocRef, Ctx->gtid, Deps->ndeps, Deps->deplist,
                            Deps->ndeps_noalias, Deps->noalias_deplist);
@@ -326,8 +333,8 @@
 
   auto DeviceOrErr = Interop->getDevice();
   if (!DeviceOrErr) {
-    REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(Interop),
-           toString(DeviceOrErr.takeError()).c_str());
+    REPORT() << "Failed to get device for interop " << Interop << ": "
+             << toString(DeviceOrErr.takeError());
     return OFFLOAD_FAIL;
   }
 
@@ -337,9 +344,9 @@
 EXTERN int ompx_interop_add_completion_callback(omp_interop_val_t *Interop,
                                                 ompx_interop_cb_t *CB,
                                                 void *Data) {
-  DP("Call to %s with interop " DPxMOD ", property callback " DPxMOD
-     "and data " DPxMOD "\n",
-     __func__, DPxPTR(Interop), DPxPTR(CB), DPxPTR(Data));
+  ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop
+                      << ", property callback " << reinterpret_cast<void *>(CB)
+                      << " and data " << Data;
 
   if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
     return omp_irc_other;
@@ -424,7 +431,7 @@
     FATAL_MESSAGE(device_id, "Interop sync barrier failed for %p object\n",
                   this);
   }
-  DP("Calling completion callbacks for " DPxMOD "\n", DPxPTR(this));
+  ODBG(ODT_Sync) << "Calling completion callbacks for " << this;
   runCompletionCbs();
   return OFFLOAD_SUCCESS;
 }
@@ -445,8 +452,8 @@
   if (PM->InteropTbl.size() == 0)
     return;
 
-  DP("target_sync: syncing interops for gtid %" PRId32 ", event " DPxMOD "\n",
-     Gtid, DPxPTR(Event));
+  ODBG(ODT_Sync) << "target_sync: syncing interops for gtid " << Gtid
+                 << ", event " << Event;
 
   for (auto iop : PM->InteropTbl) {
     if (iop->async_info && iop->async_info->Queue && iop->isOwnedBy(Gtid) &&
@@ -454,8 +461,8 @@
 
       auto DeviceOrErr = iop->getDevice();
       if (!DeviceOrErr) {
-        REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(iop),
-               toString(DeviceOrErr.takeError()).c_str());
+        REPORT() << "Failed to get device for interop " << iop << ": "
+                 << toString(DeviceOrErr.takeError());
         continue;
       }
       auto &IOPDevice = *DeviceOrErr;
@@ -482,12 +489,12 @@
 }
 
 void InteropTblTy::clear() {
-  DP("Clearing Interop Table\n");
+  ODBG(ODT_Deinit) << "Clearing Interop Table";
   PerThreadTable::clear([](auto &IOP) {
     auto DeviceOrErr = IOP->getDevice();
     if (!DeviceOrErr) {
-      REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(IOP),
-             toString(DeviceOrErr.takeError()).c_str());
+      REPORT() << "Failed to get device for interop " << IOP << ": "
+               << toString(DeviceOrErr.takeError());
       return;
     }
     IOP->release(*DeviceOrErr);