llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-flang-driver @llvm/pr-subscribers-clang Author: None (agozillon) <details> <summary>Changes</summary> The -Xoffload-linker command allows forwarding of linker commands to the clang-linker-wrapper used for linking offload libraries into the resulting offload binaries amongst other tasks. This is a rather useful command to have to support the offloading programming models flang-new currently aims to support (OpenMP/OpenACC). Currently this flag is utilised in the check-offload tests after a recent addition and is used in conjunction with the Fortran OpenMP test suite there, which fails at the moment due to flang-new not recognizing the command, this fixes the issue. The alternative to this would of course be to setup the test config to avoid using this flag with Fortran, but I believe adding support of the flag to flang-new has more merit as having the same compatability/communication capabilities as Clang to the clang-linker-wrapper is important as it's a critical component of the offload pipeline, and the command will likely see more use in the near future. --- Full diff: https://github.com/llvm/llvm-project/pull/109907.diff 2 Files Affected: - (modified) clang/include/clang/Driver/Options.td (+1) - (added) flang/test/Driver/xoffload-linker.f90 (+7) ``````````diff diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 23bd686a85f526..da24bc3541abda 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -1055,6 +1055,7 @@ def Xlinker : Separate<["-"], "Xlinker">, Flags<[LinkerInput, RenderAsInput]>, HelpText<"Pass <arg> to the linker">, MetaVarName<"<arg>">, Group<Link_Group>; def Xoffload_linker : JoinedAndSeparate<["-"], "Xoffload-linker">, + Visibility<[ClangOption, CLOption, FlangOption, DXCOption]>, HelpText<"Pass <arg> to the offload linkers or the ones identified by -<triple>">, MetaVarName<"<triple> <arg>">, Group<Link_Group>; def Xpreprocessor : Separate<["-"], "Xpreprocessor">, Group<Preprocessor_Group>, diff --git a/flang/test/Driver/xoffload-linker.f90 b/flang/test/Driver/xoffload-linker.f90 new file mode 100644 index 00000000000000..886e649c1e8760 --- /dev/null +++ b/flang/test/Driver/xoffload-linker.f90 @@ -0,0 +1,7 @@ +! Test the -Xoffload-linker flag that forwards link commands to the clang-linker-wrapper used +! to help link offloading device libraries + +! RUN: %flang -### --target=x86_64-unknown-linux-gnu -fopenmp --offload-arch=gfx90a \ +! RUN: -Xoffload-linker a %s 2>&1 | FileCheck %s --check-prefix=CHECK-XLINKER + +! CHECK-XLINKER: -device-linker=a{{.*}}-- `````````` </details> https://github.com/llvm/llvm-project/pull/109907 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits