[Mlir-commits] [mlir] [mlir][ArmSME] Make use of backend function attributes for enabling ZA storage (PR #71044)
Cullen Rhodes
llvmlistbot at llvm.org
Fri Nov 3 10:48:50 PDT 2023
================
@@ -177,6 +178,39 @@ if(LLVM_ENABLE_PIC)
target_link_options(mlir_async_runtime PRIVATE "-Wl,-exclude-libs,ALL")
endif()
+ if (MLIR_RUN_ARM_SME_TESTS)
+ if (NOT DEFINED LLVM_MAIN_SRC_DIR)
+ message(FATAL_ERROR "LLVM_MAIN_SRC_DIR must be provided to build the ArmSME runtime.")
+ endif()
+
+ if (NOT DEFINED MLIR_ARM_SME__CAN_ASSEMBLE_ARM_SME)
+ # This should work on an AArch64 host with a recent version of clang.
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/has_arm_sme_check.S
+ ".arch armv9-a+sme
+ .global main
+ .type main, %function
+ main: smstart
+ .size main, .-main")
+ try_compile(MLIR_ARM_SME__CAN_ASSEMBLE_ARM_SME ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/has_arm_sme_check.S)
+ endif()
+
+ if (NOT MLIR_ARM_SME__CAN_ASSEMBLE_ARM_SME)
+ message(FATAL_ERROR "Host compiler must be able to assemble AArch64 SME instructions to build the ArmSME runtime.")
+ endif()
+
+ # FIXME: This is very far from ideal, but enabling compiler-rt in the main
----------------
c-rhodes wrote:
> Note that `compiler-rt` only builds the builtins as a static library, so we can't load those at runtime in the MLIR tests.
Ah, I didn't consider that. Surprised that's not configurable, I wonder if there's a reason for only building as static.
https://github.com/llvm/llvm-project/pull/71044
More information about the Mlir-commits
mailing list