[Mlir-commits] [mlir] 772ff04 - [mlir][ExecutionEngine] propagate errors in mlirExecutionEngineCreate (#170592)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Dec 4 15:14:10 PST 2025


Author: Maksim Levental
Date: 2025-12-04T23:14:05Z
New Revision: 772ff0436d8a00c71e8ab026800fe77eeaba6c49

URL: https://github.com/llvm/llvm-project/commit/772ff0436d8a00c71e8ab026800fe77eeaba6c49
DIFF: https://github.com/llvm/llvm-project/commit/772ff0436d8a00c71e8ab026800fe77eeaba6c49.diff

LOG: [mlir][ExecutionEngine] propagate errors in mlirExecutionEngineCreate (#170592)

Added: 
    

Modified: 
    mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
    mlir/test/python/execution_engine.py

Removed: 
    


################################################################################
diff  --git a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
index 2dbb993b1640f..6c97499b28fd9 100644
--- a/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
@@ -38,12 +38,15 @@ mlirExecutionEngineCreate(MlirModule op, int optLevel, int numPaths,
 
   auto tmBuilderOrError = llvm::orc::JITTargetMachineBuilder::detectHost();
   if (!tmBuilderOrError) {
-    llvm::errs() << "Failed to create a JITTargetMachineBuilder for the host\n";
+    llvm::errs() << "Failed to create a JITTargetMachineBuilder for the host "
+                    "because: \n";
+    consumeError(tmBuilderOrError.takeError());
     return MlirExecutionEngine{nullptr};
   }
   auto tmOrError = tmBuilderOrError->createTargetMachine();
   if (!tmOrError) {
-    llvm::errs() << "Failed to create a TargetMachine for the host\n";
+    llvm::errs() << "Failed to create a TargetMachine for the host because: \n";
+    consumeError(tmOrError.takeError());
     return MlirExecutionEngine{nullptr};
   }
 
@@ -62,6 +65,7 @@ mlirExecutionEngineCreate(MlirModule op, int optLevel, int numPaths,
   jitOptions.enableObjectDump = enableObjectDump;
   auto jitOrError = ExecutionEngine::create(unwrap(op), jitOptions);
   if (!jitOrError) {
+    llvm::errs() << "Failed to create an ExecutionEngine because: \n";
     consumeError(jitOrError.takeError());
     return MlirExecutionEngine{nullptr};
   }

diff  --git a/mlir/test/python/execution_engine.py b/mlir/test/python/execution_engine.py
index 146e213a9229e..005813d1788f5 100644
--- a/mlir/test/python/execution_engine.py
+++ b/mlir/test/python/execution_engine.py
@@ -71,6 +71,7 @@ def testInvalidModule():
     func.func @foo() { return }
     """
         )
+        # CHECK: error: cannot be converted to LLVM IR: missing `LLVMTranslationDialectInterface` registration for dialect for op: func.func
         # CHECK: Got RuntimeError:  Failure while creating the ExecutionEngine.
         try:
             execution_engine = ExecutionEngine(module)


        


More information about the Mlir-commits mailing list