From 19ab0db2bd32b72cc369923a0d493df3cf9f27b4 Mon Sep 17 00:00:00 2001 From: Dominik Adamski Date: Wed, 3 Dec 2025 09:34:03 -0600 Subject: [PATCH] [Flang-RT] No flang hostdevice runtime flag --- bin/build_llvm-flang-rt-host-dev.sh | 1 + bin/build_project.sh | 9 +++++++-- bin/run_genasis_flang_new.sh | 2 +- test/Makefile.defs | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bin/build_llvm-flang-rt-host-dev.sh b/bin/build_llvm-flang-rt-host-dev.sh index 37bb874c1..7889872cb 100755 --- a/bin/build_llvm-flang-rt-host-dev.sh +++ b/bin/build_llvm-flang-rt-host-dev.sh @@ -107,6 +107,7 @@ ${AOMP_CMAKE} "${AOMP_SET_NINJA_GEN[@]}" $CM_BUILD_TYPE \ -DCMAKE_CXX_COMPILER="$CMAKE_CXX_COMPILER" \ -DFLANG_RT_DEVICE_ARCHITECTURES="$ARCH_LIST" \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DFLANG_RT_EMBED_GPU_LLVM_IR=OFF \ "$AOMP_REPOS/$AOMP_NAME_LLVM_PROJECT/runtimes" $AOMP_NINJA_BIN --version diff --git a/bin/build_project.sh b/bin/build_project.sh index d56573103..0b34d1178 100755 --- a/bin/build_project.sh +++ b/bin/build_project.sh @@ -155,7 +155,7 @@ MYCMAKEOPTS=(-DCMAKE_BUILD_TYPE="$BUILD_TYPE" if [ -f "$AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp/device/CMakeLists.txt" ]; then MYCMAKEOPTS=("${MYCMAKEOPTS[@]}" -DLLVM_RUNTIME_TARGETS='default;amdgcn-amd-amdhsa' - -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES='openmp' + -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES='compiler-rt;libc;libcxx;libcxxabi;flang-rt;openmp' -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON) fi @@ -169,7 +169,12 @@ MYCMAKEOPTS=("${MYCMAKEOPTS[@]}" -DCLANG_ENABLE_AMDCLANG=ON -DLLVM_ENABLE_RUNTIMES="$LLVM_RUNTIMES" -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXXABI_ENABLE_STATIC=ON) + -DLIBCXXABI_ENABLE_STATIC=ON + -DLLVM_RUNTIME_TARGETS="default;amdgcn-amd-amdhsa" + -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBC_PROVIDER=llvm + -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBCXX_PROVIDER=llvm + -DRUNTIMES_amdgcn-amd-amdhsa_CACHE_FILES="$AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/libcxx/cmake/caches/AMDGPU.cmake" + ) # Enable Compiler-rt Sanitizer Build if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then diff --git a/bin/run_genasis_flang_new.sh b/bin/run_genasis_flang_new.sh index 62f026c07..d1ee1bba9 100755 --- a/bin/run_genasis_flang_new.sh +++ b/bin/run_genasis_flang_new.sh @@ -113,7 +113,7 @@ fi if [[ "$IMPLICIT_GPU_FLANG_RT" -eq "1" ]]; then FORTRAN_OFFLOAD_LIB= else - FORTRAN_OFFLOAD_LIB=-lflang_rt.hostdevice + FORTRAN_OFFLOAD_LIB="-fno-gpu-flang-rt -lflang_rt.hostdevice" fi export LD_LIBRARY_PATH=$AOMP/lib:$AOMPHIP/lib:$OPENMPI_DIR/lib:$LD_LIBRARY_PATH diff --git a/test/Makefile.defs b/test/Makefile.defs index cc4e424f7..d8b273419 100644 --- a/test/Makefile.defs +++ b/test/Makefile.defs @@ -355,7 +355,7 @@ endif ifeq ($(IMPLICIT_GPU_FLANG_RT),1) FLANG_GPU_LINK_FLAGS = else - FLANG_GPU_LINK_FLAGS = -lflang_rt.hostdevice + FLANG_GPU_LINK_FLAGS = -fno-gpu-flang-rt -lflang_rt.hostdevice endif ifeq ($(NOOPT),1)