llvm-capstone/mlir/tools/mlir-cpu-runner
Andrzej Warzynski 3283a6fb0d [mlir-cpu-runner] Add export_executable_symbols in CMake
This patch is primarily about the change in
"mlir/tools/mlir-cpu-runner/CMakeLists.txt". LLJIT needs access to
symbols (e.g. llvm_orc_registerEHFrameSectionWrapper) that will be
defined in the executable when LLVM is linked statically. This change is
consistent with how other tools within LLVM use LLJIT. It is required to
make sure that:
```
 $ mlir-cpu-runner --host-supports-jit
```
correctly returns `true` on platforms that do support JITting (in my
case that's AArch64 Linux).

The change in "mlir/lib/ExecutionEngine/CMakeLists.txt" is required to
avoid ODR violations when symbols from `mlir-cpu-runner` are exported
and when loading `libmlir_async_runtime.so` in `mlir-cpu-runner`.
Specifically, to avoid `EnableABIBreakingChecks` being defined twice.
For more context:
  * https://github.com/llvm/llvm-project/issues/61712
  * https://github.com/llvm/llvm-project/issues/61856
  * https://reviews.llvm.org/D146935 (this PR)

This change relands ccdcfad081

Fixes #61856

Differential Revision: https://reviews.llvm.org/D146935
2023-04-07 14:40:57 +00:00
..
CMakeLists.txt [mlir-cpu-runner] Add export_executable_symbols in CMake 2023-04-07 14:40:57 +00:00
mlir-cpu-runner.cpp Reland [mlir] Remove uses of LLVM's legacy pass manager 2022-04-11 16:53:32 -07:00