Author: Yaxun (Sam) Liu Date: 2023-03-11T13:33:17-05:00 New Revision: 43c90f905a2293dde1d6975e6747ce50063cd155
URL: https://github.com/llvm/llvm-project/commit/43c90f905a2293dde1d6975e6747ce50063cd155 DIFF: https://github.com/llvm/llvm-project/commit/43c90f905a2293dde1d6975e6747ce50063cd155.diff LOG: [HIP] Make `--offload-add-rpath` alias of `-frtlib-add-rpath` HIP runtime is the language runtime of HIP. When users need to specify rpath, they usually need to specify rpath for both compiler-rt and HIP runtime. It seems redundant to have separate options. Therefore make --offload-add-rpath an alias to -frtlib-add-rpath. Reviewed by: Fangrui Song, Artem Belevich Differential Revision: https://reviews.llvm.org/D145393 Added: Modified: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Linux.cpp clang/test/Driver/hip-runtime-libs-linux.hip Removed: ################################################################################ diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index cf7194a855835..52f58f045e8c0 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -4253,13 +4253,15 @@ def rpath : Separate<["-"], "rpath">, Flags<[LinkerInput]>, Group<Link_Group>; def rtlib_EQ : Joined<["-", "--"], "rtlib=">, HelpText<"Compiler runtime library to use">; def frtlib_add_rpath: Flag<["-"], "frtlib-add-rpath">, Flags<[NoArgumentUnused]>, - HelpText<"Add -rpath with architecture-specific resource directory to the linker flags">; + HelpText<"Add -rpath with architecture-specific resource directory to the linker flags. " + "When --hip-link is specified, also add -rpath with HIP runtime library directory to the linker flags">; def fno_rtlib_add_rpath: Flag<["-"], "fno-rtlib-add-rpath">, Flags<[NoArgumentUnused]>, - HelpText<"Do not add -rpath with architecture-specific resource directory to the linker flags">; + HelpText<"Do not add -rpath with architecture-specific resource directory to the linker flags. " + "When --hip-link is specified, do not add -rpath with HIP runtime library directory to the linker flags">; def offload_add_rpath: Flag<["--"], "offload-add-rpath">, Flags<[NoArgumentUnused]>, - HelpText<"Add -rpath with HIP runtime library directory to the linker flags">; + Alias<frtlib_add_rpath>; def no_offload_add_rpath: Flag<["--"], "no-offload-add-rpath">, Flags<[NoArgumentUnused]>, - HelpText<"Do not add -rpath with HIP runtime library directory to the linker flags">; + Alias<frtlib_add_rpath>; def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>, Group<Link_Group>; def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>, diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index e8890af0ab9ac..4bbb2f8ef6818 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -694,8 +694,8 @@ void Linux::AddHIPRuntimeLibArgs(const ArgList &Args, CmdArgs.push_back( Args.MakeArgString(StringRef("-L") + RocmInstallation->getLibPath())); - if (Args.hasFlag(options::OPT_offload_add_rpath, - options::OPT_no_offload_add_rpath, false)) + if (Args.hasFlag(options::OPT_frtlib_add_rpath, + options::OPT_fno_rtlib_add_rpath, false)) CmdArgs.append( {"-rpath", Args.MakeArgString(RocmInstallation->getLibPath())}); diff --git a/clang/test/Driver/hip-runtime-libs-linux.hip b/clang/test/Driver/hip-runtime-libs-linux.hip index aa71798a80bb4..b0e9f3a460eb0 100644 --- a/clang/test/Driver/hip-runtime-libs-linux.hip +++ b/clang/test/Driver/hip-runtime-libs-linux.hip @@ -16,6 +16,10 @@ // RUN: --rocm-path=%S/Inputs/rocm %t.o --offload-add-rpath 2>&1 \ // RUN: | FileCheck -check-prefixes=ROCM-RPATH %s +// RUN: %clang -### --hip-link --target=x86_64-linux-gnu \ +// RUN: --rocm-path=%S/Inputs/rocm %t.o -frtlib-add-rpath 2>&1 \ +// RUN: | FileCheck -check-prefixes=ROCM-RPATH %s + // Test detecting latest /opt/rocm-{release} directory. // RUN: rm -rf %t && mkdir -p %t/opt // RUN: cp -r %S/Inputs/rocm %t/opt/rocm-3.9.0-1234 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits