[llvm] [OFFLOAD] Add missing memory mapping notification API for libomptarget migration (PR #172226)

via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 14 13:17:57 PST 2025


https://github.com/fineg74 created https://github.com/llvm/llvm-project/pull/172226

Add missing liboffload memory mapping notification API for libomptarget migration

This PR adds liboffload memory mapping notification API that needed to make libomptarget to use liboffload

>From 53811f9f0c4b6d8dd4ad19788cade99eb40b7bdd Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Fri, 12 Dec 2025 13:24:07 -0800
Subject: [PATCH] Add memory mapping notification API

---
 offload/liboffload/API/Memory.td       | 23 +++++++++++++++++++++++
 offload/liboffload/src/OffloadImpl.cpp | 10 ++++++++++
 2 files changed, 33 insertions(+)

diff --git a/offload/liboffload/API/Memory.td b/offload/liboffload/API/Memory.td
index 79e8038330048..6a00df0c5a575 100644
--- a/offload/liboffload/API/Memory.td
+++ b/offload/liboffload/API/Memory.td
@@ -131,3 +131,26 @@ def olMemFill : Function {
     Return<"OL_ERRC_INVALID_SIZE", ["`FillSize % PatternSize != 0`"]>
   ];
 }
+
+def olMemDataMappedNotify : Function {
+  let desc = "Notifies device about mapping of memory block.";
+  let params = [
+    Param<"ol_device_handle_t", "Device", "handle of the device to allocate on", PARAM_IN>,
+    Param<"void *", "Ptr", "Host Pointer", PARAM_IN>,
+    Param<"size_t", "Size", "size of the allocation in bytes", PARAM_IN>
+  ];
+  let returns = [
+    Return<"OL_ERRC_INVALID_SIZE", [
+      "`Size == 0`"
+    ]>
+  ];
+}
+
+def olMemDataUnMappedNotify : Function {
+  let desc = "Notifies device about unmapping of memory block.";
+  let params = [
+    Param<"ol_device_handle_t", "Device", "handle of the device to allocate on", PARAM_IN>,
+    Param<"void *", "Ptr", "Host Pointer", PARAM_IN>
+  ];
+  let returns = [];
+}
diff --git a/offload/liboffload/src/OffloadImpl.cpp b/offload/liboffload/src/OffloadImpl.cpp
index eab9627217ca8..8b6eb2edd1923 100644
--- a/offload/liboffload/src/OffloadImpl.cpp
+++ b/offload/liboffload/src/OffloadImpl.cpp
@@ -1214,5 +1214,15 @@ Error olLaunchHostFunction_impl(ol_queue_handle_t Queue,
                                                 Queue->AsyncInfo);
 }
 
+Error olMemDataMappedNotify_impl(ol_device_handle_t Device, void *Ptr,
+                                 size_t Size) {
+  return Device->Device->notifyDataMapped(Ptr, Size);
+}
+
+Error olMemDataUnMappedNotify_impl(ol_device_handle_t Device, void *Ptr) {
+  return Device->Device->notifyDataUnmapped(Ptr);
+}
+
+
 } // namespace offload
 } // namespace llvm



More information about the llvm-commits mailing list