Open Zentrik opened 2 weeks ago
After https://github.com/llvm/llvm-project/pull/93519, when building ArmSMEStubs.cpp on mingw with LLVM_BUILD_LLVM_DYLIB=ON, mlir_arm_sme_abi_stubs_EXPORTS is no longer defined as expected from the cmake file, https://github.com/llvm/llvm-project/blob/bec1d86516f59997794f7707a50da858792a8d8d/mlir/lib/ExecutionEngine/CMakeLists.txt#L208-L211
LLVM_BUILD_LLVM_DYLIB=ON
mlir_arm_sme_abi_stubs_EXPORTS
This causes the following error,
ninja: job failed: /opt/bin/x86_64-w64-mingw32-libgfortran5-cxx11/x86_64-w64-mingw32-clang++ --target=x86_64-w64-mingw32 --sysroot=/opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/ -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/workspace/build/tools/mlir/lib/ExecutionEngine -I/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine -I/workspace/build/include -I/workspace/srcdir/llvm-project/llvm/include -I/workspace/srcdir/llvm-project/mlir/include -I/workspace/build/tools/mlir/include -remap -D__USING_SJLJ_EXCEPTIONS__ -D__CRT__NO_INLINE -pthread -DMLIR_CAPI_ENABLE_WINDOWS_DLL_DECLSPEC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O3 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj -MF tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj.d -o tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj -c /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp clang++: warning: argument unused during compilation: '-remap' [-Wunused-command-line-argument] /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:37:35: error: dllimport cannot be applied to non-inline function definition 37 | bool MLIR_ARMSMEABISTUBS_EXPORTED __aarch64_sme_accessible() { | ^ /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:47:40: error: dllimport cannot be applied to non-inline function definition 47 | sme_state MLIR_ARMSMEABISTUBS_EXPORTED __arm_sme_state() { | ^ /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:52:35: error: dllimport cannot be applied to non-inline function definition 52 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_restore() { | ^ /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:56:35: error: dllimport cannot be applied to non-inline function definition 56 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_save() { | ^ /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:60:35: error: dllimport cannot be applied to non-inline function definition 60 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_za_disable() { | ^ 5 errors generated.
Note how -Dmlir_arm_sme_abi_stubs_EXPORTS is not present in the compiler invocation when it is with https://github.com/llvm/llvm-project/pull/93519 reverted or without LLVM_BUILD_LLVM_DYLIB=ON.
-Dmlir_arm_sme_abi_stubs_EXPORTS
@llvm/issue-subscribers-mlir
Author: None (Zentrik)
After https://github.com/llvm/llvm-project/pull/93519, when building ArmSMEStubs.cpp on mingw with
LLVM_BUILD_LLVM_DYLIB=ON
,mlir_arm_sme_abi_stubs_EXPORTS
is no longer defined as expected from the cmake file, https://github.com/llvm/llvm-project/blob/bec1d86516f59997794f7707a50da858792a8d8d/mlir/lib/ExecutionEngine/CMakeLists.txt#L208-L211This causes the following error,
Note how
-Dmlir_arm_sme_abi_stubs_EXPORTS
is not present in the compiler invocation when it is with https://github.com/llvm/llvm-project/pull/93519 reverted or withoutLLVM_BUILD_LLVM_DYLIB=ON
.