[llvm] [OFFLOAD] Add missing asynchronous query API for libomptarget migration (PR #172231)

via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 14 14:07:21 PST 2025


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

Add missing liboffload asynchronous query API for libomptarget migration

This PR adds liboffload asynchronous query API that needed to make libomptarget to use liboffload

>From a1080caff2f5cb9aced3b067ab2c25af5846c165 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Fri, 12 Dec 2025 16:49:28 -0800
Subject: [PATCH] add QueryAsync API

---
 offload/liboffload/API/Queue.td        | 9 +++++++++
 offload/liboffload/src/OffloadImpl.cpp | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/offload/liboffload/API/Queue.td b/offload/liboffload/API/Queue.td
index ededa9cc92fef..75df8f103e9f2 100644
--- a/offload/liboffload/API/Queue.td
+++ b/offload/liboffload/API/Queue.td
@@ -125,3 +125,12 @@ def olLaunchHostFunction : Function {
   ];
   let returns = [];
 }
+
+def olQueryAsync : Function {
+    let desc = "Query for device/queue/event based completion on in a non-blocking manner.";
+    let details = [];
+    let params = [
+        Param<"ol_queue_handle_t", "Queue", "handle of the queue", PARAM_IN>
+    ];
+    let returns = [];
+}
diff --git a/offload/liboffload/src/OffloadImpl.cpp b/offload/liboffload/src/OffloadImpl.cpp
index eab9627217ca8..b46546414c602 100644
--- a/offload/liboffload/src/OffloadImpl.cpp
+++ b/offload/liboffload/src/OffloadImpl.cpp
@@ -1214,5 +1214,14 @@ Error olLaunchHostFunction_impl(ol_queue_handle_t Queue,
                                                 Queue->AsyncInfo);
 }
 
+Error olQueryAsync_impl(ol_queue_handle_t Queue) {
+  if (Queue->AsyncInfo->Queue) {
+    if (auto Err = Queue->Device->Device->queryAsync(Queue->AsyncInfo))
+      return Err;
+  }
+
+  return Error::success();
+}
+
 } // namespace offload
 } // namespace llvm



More information about the llvm-commits mailing list