[clang] 43c90f9 - [HIP] Make `--offload-add-rpath` alias of `-frtlib-add-rpath`
Yaxun Liu via cfe-commits
cfe-commits at lists.llvm.org
Sat Mar 11 10:34:02 PST 2023
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
More information about the cfe-commits
mailing list