[Mlir-commits] [mlir] 0bda20b - Reland [mlir] Workaround for export lib generation on Windows for mlir_arm_sme_abi_stubs #73147 (#73238)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Nov 23 05:59:22 PST 2023
Author: Ivan Butygin
Date: 2023-11-23T16:59:17+03:00
New Revision: 0bda20b8bec8e4fa26dd1ae5d408c5e137284817
URL: https://github.com/llvm/llvm-project/commit/0bda20b8bec8e4fa26dd1ae5d408c5e137284817
DIFF: https://github.com/llvm/llvm-project/commit/0bda20b8bec8e4fa26dd1ae5d408c5e137284817.diff
LOG: Reland [mlir] Workaround for export lib generation on Windows for mlir_arm_sme_abi_stubs #73147 (#73238)
https://github.com/llvm/llvm-project/pull/73147
Fixed the visibility macro
Added:
Modified:
mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
mlir/lib/ExecutionEngine/CMakeLists.txt
Removed:
################################################################################
diff --git a/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp b/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
index f9f64ad5e5ac81c..e01384ba91a0d36 100644
--- a/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
+++ b/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
@@ -10,6 +10,21 @@
#include <cstdint>
#include <iostream>
+#if (defined(_WIN32) || defined(__CYGWIN__))
+#ifndef MLIR_ARMSMEABISTUBS_EXPORTED
+#ifdef mlir_arm_sme_abi_stubs_EXPORTS
+// We are building this library
+#define MLIR_ARMSMEABISTUBS_EXPORTED __declspec(dllexport)
+#else
+// We are using this library
+#define MLIR_ARMSMEABISTUBS_EXPORTED __declspec(dllimport)
+#endif // mlir_arm_sme_abi_stubs_EXPORTS
+#endif // MLIR_ARMSMEABISTUBS_EXPORTED
+#else
+#define MLIR_ARMSMEABISTUBS_EXPORTED \
+ __attribute__((visibility("default"))) LLVM_ATTRIBUTE_WEAK
+#endif // (defined(_WIN32) || defined(__CYGWIN__))
+
// The actual implementation of these routines is in:
// compiler-rt/lib/builtins/aarch64/sme-abi.S. These stubs allow the current
// ArmSME tests to run without depending on compiler-rt. This works as we don't
@@ -19,7 +34,7 @@
extern "C" {
-bool LLVM_ATTRIBUTE_WEAK __aarch64_sme_accessible() {
+bool MLIR_ARMSMEABISTUBS_EXPORTED __aarch64_sme_accessible() {
// The ArmSME tests are run within an emulator so we assume SME is available.
return true;
}
@@ -29,20 +44,20 @@ struct sme_state {
int64_t x1;
};
-sme_state LLVM_ATTRIBUTE_WEAK __arm_sme_state() {
+sme_state MLIR_ARMSMEABISTUBS_EXPORTED __arm_sme_state() {
std::cerr << "[warning] __arm_sme_state() stubbed!\n";
return sme_state{};
}
-void LLVM_ATTRIBUTE_WEAK __arm_tpidr2_restore() {
+void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_restore() {
std::cerr << "[warning] __arm_tpidr2_restore() stubbed!\n";
}
-void LLVM_ATTRIBUTE_WEAK __arm_tpidr2_save() {
+void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_save() {
std::cerr << "[warning] __arm_tpidr2_save() stubbed!\n";
}
-void LLVM_ATTRIBUTE_WEAK __arm_za_disable() {
+void MLIR_ARMSMEABISTUBS_EXPORTED __arm_za_disable() {
std::cerr << "[warning] __arm_za_disable() stubbed!\n";
}
}
diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt
index fe139661f2bbb5a..70c5a07ad1ab237 100644
--- a/mlir/lib/ExecutionEngine/CMakeLists.txt
+++ b/mlir/lib/ExecutionEngine/CMakeLists.txt
@@ -181,6 +181,7 @@ if(LLVM_ENABLE_PIC)
add_mlir_library(mlir_arm_sme_abi_stubs
SHARED
ArmSMEStubs.cpp)
+ target_compile_definitions(mlir_arm_sme_abi_stubs PRIVATE mlir_arm_sme_abi_stubs_EXPORTS)
if(MLIR_ENABLE_CUDA_RUNNER)
# Configure CUDA support. Using check_language first allows us to give a
More information about the Mlir-commits
mailing list