[Mlir-commits] [mlir] [MLIR] Fix mlirExecutionEngineLookup throwing assert on lookup fail (PR #123924)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Feb 15 00:29:31 PST 2025
https://github.com/edg-l updated https://github.com/llvm/llvm-project/pull/123924
>From f6a8007517b2f6709591ea67a98cde318e9db43b Mon Sep 17 00:00:00 2001
From: Edgar Luque <git at edgarluque.com>
Date: Wed, 22 Jan 2025 11:33:29 +0100
Subject: [PATCH 1/2] [MLIR] Fix mlirExecutionEngineLookup throwing assert on
lookup fail on debug
---
mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
index 507be9171d328..e1e4f67fe5b83 100644
--- a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
@@ -85,18 +85,20 @@ mlirExecutionEngineInvokePacked(MlirExecutionEngine jit, MlirStringRef name,
extern "C" void *mlirExecutionEngineLookupPacked(MlirExecutionEngine jit,
MlirStringRef name) {
- auto expectedFPtr = unwrap(jit)->lookupPacked(unwrap(name));
- if (!expectedFPtr)
+ auto optionalFPtr =
+ llvm::expectedToOptional(unwrap(jit)->lookup(unwrap(name)));
+ if (!optionalFPtr.has_value())
return nullptr;
- return reinterpret_cast<void *>(*expectedFPtr);
+ return reinterpret_cast<void *>(*optionalFPtr);
}
extern "C" void *mlirExecutionEngineLookup(MlirExecutionEngine jit,
MlirStringRef name) {
- auto expectedFPtr = unwrap(jit)->lookup(unwrap(name));
- if (!expectedFPtr)
+ auto optionalFPtr =
+ llvm::expectedToOptional(unwrap(jit)->lookup(unwrap(name)));
+ if (!optionalFPtr.has_value())
return nullptr;
- return reinterpret_cast<void *>(*expectedFPtr);
+ return reinterpret_cast<void *>(*optionalFPtr);
}
extern "C" void mlirExecutionEngineRegisterSymbol(MlirExecutionEngine jit,
>From 9b579b3f295bffc5431a8c2afb94a5de861293e4 Mon Sep 17 00:00:00 2001
From: Edgar Luque <git at edgarluque.com>
Date: Fri, 24 Jan 2025 11:16:42 +0100
Subject: [PATCH 2/2] fix
---
mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
index e1e4f67fe5b83..306cebd236be9 100644
--- a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
@@ -86,8 +86,8 @@ mlirExecutionEngineInvokePacked(MlirExecutionEngine jit, MlirStringRef name,
extern "C" void *mlirExecutionEngineLookupPacked(MlirExecutionEngine jit,
MlirStringRef name) {
auto optionalFPtr =
- llvm::expectedToOptional(unwrap(jit)->lookup(unwrap(name)));
- if (!optionalFPtr.has_value())
+ llvm::expectedToOptional(unwrap(jit)->lookupPacked(unwrap(name)));
+ if (!optionalFPtr)
return nullptr;
return reinterpret_cast<void *>(*optionalFPtr);
}
@@ -96,9 +96,9 @@ extern "C" void *mlirExecutionEngineLookup(MlirExecutionEngine jit,
MlirStringRef name) {
auto optionalFPtr =
llvm::expectedToOptional(unwrap(jit)->lookup(unwrap(name)));
- if (!optionalFPtr.has_value())
+ if (!optionalFPtr)
return nullptr;
- return reinterpret_cast<void *>(*optionalFPtr);
+ return *optionalFPtr;
}
extern "C" void mlirExecutionEngineRegisterSymbol(MlirExecutionEngine jit,
More information about the Mlir-commits
mailing list