[Mlir-commits] [mlir] 631ae59 - [MLIR][ExecutionEngine] Introduce shared library (#87067)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Mar 30 01:53:23 PDT 2024
Author: Christian Ulmann
Date: 2024-03-30T09:53:19+01:00
New Revision: 631ae59d301496f86a8d46d28f7b12afbd12a3c1
URL: https://github.com/llvm/llvm-project/commit/631ae59d301496f86a8d46d28f7b12afbd12a3c1
DIFF: https://github.com/llvm/llvm-project/commit/631ae59d301496f86a8d46d28f7b12afbd12a3c1.diff
LOG: [MLIR][ExecutionEngine] Introduce shared library (#87067)
This commit introduces a shared library for the MLIR execution engine.
This library is only built when `LLVM_BUILD_LLVM_DYLIB` is set. Having
such a library allows downstream users to depend on the execution engine
without giving up dynamic linkage. This is especially important for CPU
runner-style tools, as they link against large parts of MLIR and LLVM.
It is alternatively possible to modify the `MLIRExecutionEngine` target
when `LLVM_BUILD_LLVM_DYLIB` is set, to avoid duplicated libraries.
Added:
Modified:
mlir/lib/ExecutionEngine/CMakeLists.txt
Removed:
################################################################################
diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt
index b7e448d5417ea9..a091944b9ee7df 100644
--- a/mlir/lib/ExecutionEngine/CMakeLists.txt
+++ b/mlir/lib/ExecutionEngine/CMakeLists.txt
@@ -97,6 +97,29 @@ add_mlir_library(MLIRExecutionEngine
MLIRTargetLLVMIRExport
)
+if(LLVM_BUILD_LLVM_DYLIB)
+ # Build a shared library for the execution engine. Some downstream projects
+ # use this library to build their own CPU runners while preserving dynamic
+ # linkage.
+ add_mlir_library(MLIRExecutionEngineShared
+ ExecutionEngine.cpp
+ SHARED
+
+ EXCLUDE_FROM_LIBMLIR
+
+ ADDITIONAL_HEADER_DIRS
+ ${MLIR_MAIN_INCLUDE_DIR}/mlir/ExecutionEngine
+
+ # Ensures that all necessary dependencies are resolved.
+ DEPENDS
+ MLIRExecutionEngine
+
+ LINK_LIBS PUBLIC
+ LLVM
+ MLIR
+ )
+endif()
+
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
add_mlir_library(MLIRJitRunner
JitRunner.cpp
More information about the Mlir-commits
mailing list