1# Exclude these from libMLIR.so because the JIT infrastructure
2# is a big dependency which most don't need.
3
4set(LLVM_OPTIONAL_SOURCES
5  AsyncRuntime.cpp
6  CRunnerUtils.cpp
7  SparseUtils.cpp
8  ExecutionEngine.cpp
9  RunnerUtils.cpp
10  OptUtils.cpp
11  JitRunner.cpp
12  )
13
14add_mlir_library(MLIRExecutionEngine
15  ExecutionEngine.cpp
16  OptUtils.cpp
17
18  EXCLUDE_FROM_LIBMLIR
19
20  ADDITIONAL_HEADER_DIRS
21  ${MLIR_MAIN_INCLUDE_DIR}/mlir/ExecutionEngine
22
23  DEPENDS
24  intrinsics_gen
25
26  LINK_COMPONENTS
27  Core
28  Coroutines
29  ExecutionEngine
30  Object
31  OrcJIT
32  JITLink
33  Analysis
34  AggressiveInstCombine
35  InstCombine
36  MC
37  ScalarOpts
38  Target
39  Vectorize
40  TransformUtils
41  nativecodegen
42  IPO
43
44  LINK_LIBS PUBLIC
45  MLIRLLVMIR
46  MLIRTargetLLVMIR
47  )
48
49get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
50add_mlir_library(MLIRJitRunner
51  JitRunner.cpp
52
53  EXCLUDE_FROM_LIBMLIR
54
55  DEPENDS
56  intrinsics_gen
57
58  LINK_COMPONENTS
59  Core
60  OrcJIT
61  JITLink
62
63  LINK_LIBS PUBLIC
64  ${dialect_libs}
65  MLIRExecutionEngine
66  MLIRIR
67  MLIRParser
68  MLIRStandard
69  MLIRTargetLLVMIR
70  MLIRTransforms
71  MLIRStandardToLLVM
72  MLIRSupport
73)
74
75add_mlir_library(mlir_c_runner_utils
76  SHARED
77  CRunnerUtils.cpp
78  SparseUtils.cpp
79
80  EXCLUDE_FROM_LIBMLIR
81  )
82set_property(TARGET mlir_c_runner_utils PROPERTY CXX_STANDARD 11)
83
84add_mlir_library(mlir_c_runner_utils_static
85  CRunnerUtils.cpp
86  SparseUtils.cpp
87
88  EXCLUDE_FROM_LIBMLIR
89  )
90set_property(TARGET mlir_c_runner_utils_static PROPERTY CXX_STANDARD 11)
91target_compile_definitions(mlir_c_runner_utils PRIVATE mlir_c_runner_utils_EXPORTS)
92
93add_mlir_library(mlir_runner_utils
94  SHARED
95  RunnerUtils.cpp
96
97  EXCLUDE_FROM_LIBMLIR
98
99  LINK_LIBS PUBLIC
100  mlir_c_runner_utils_static
101)
102target_compile_definitions(mlir_runner_utils PRIVATE mlir_runner_utils_EXPORTS)
103
104add_mlir_library(mlir_async_runtime
105  SHARED
106  AsyncRuntime.cpp
107
108  EXCLUDE_FROM_LIBMLIR
109
110  LINK_LIBS PUBLIC
111  mlir_c_runner_utils_static
112  ${LLVM_PTHREAD_LIB}
113)
114target_compile_definitions(mlir_async_runtime PRIVATE mlir_async_runtime_EXPORTS)
115