================ @@ -232,6 +232,22 @@ if(LIBC_GPU_BUILD) list(APPEND RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES "libc") endif() +# Set up Arm64X build of the OpenMP runtime +option(LIBOMP_ENABLE_ARM64X "Build the OpenMP library as Arm64X for compatibility with both Arm64 and Arm64EC" OFF) +if(LIBOMP_ENABLE_ARM64X) + if(NOT LLVM_HOST_TRIPLE STREQUAL "aarch64-pc-windows-msvc") + messsage(FATAL_ERROR "Arm64X builds are only supported on Windows on Arm hosts.") + endif() + if(NOT LLVM_RUNTIME_TARGETS) + set(LLVM_RUNTIME_TARGETS "default") + endif() + + if(NOT "arm64ec-pc-windows-msvc" IN_LIST LLVM_RUNTIME_TARGETS) + list(APPEND LLVM_RUNTIME_TARGETS "arm64ec-pc-windows-msvc") + endif() + set(RUNTIMES_arm64ec-pc-windows-msvc_LIBOMP_ENABLE_ARM64X ON) +endif() ---------------- Meinersbur wrote:
Normally we support suggested configurations using CMake cache files (e.g. here: https://github.com/llvm/llvm-project/tree/main/llvm/cmake/platforms) Doing it this way comes with problems: * It is only applicable in bootstrapping builds * Trying to cross-compile to `aarch64-pc-windows-msvc` errors out https://github.com/llvm/llvm-project/pull/176157 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
