[clang] 027aeec - [Clang] Respect `-L` options when compiling directly for AMDGPU
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Thu May 11 14:03:02 PDT 2023
Author: Joseph Huber
Date: 2023-05-11T16:02:54-05:00
New Revision: 027aeec7da67afe33b159f5e42dec57488897454
URL: https://github.com/llvm/llvm-project/commit/027aeec7da67afe33b159f5e42dec57488897454
DIFF: https://github.com/llvm/llvm-project/commit/027aeec7da67afe33b159f5e42dec57488897454.diff
LOG: [Clang] Respect `-L` options when compiling directly for AMDGPU
The AMDGPU linker is `lld`, which has full support for standard features
like static libraries. Previously the AMDGPU toolchain did not forward
`-L` arguments so we could not tell it where to find certain libraries.
This patch simply forwards it like the other toolchains.
Reviewed By: yaxunl, MaskRay
Differential Revision: https://reviews.llvm.org/D150013
Added:
Modified:
clang/lib/Driver/ToolChains/CommonArgs.cpp
clang/test/Driver/amdgpu-toolchain.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index a6247b4cbe4ea..189c99e18572a 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -232,9 +232,11 @@ void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input);
// LIBRARY_PATH are included before user inputs and only supported on native
- // toolchains.
+ // toolchains. Otherwise only add the '-L' arguments requested by the user.
if (!TC.isCrossCompiling())
addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
+ else
+ Args.AddAllArgs(CmdArgs, options::OPT_L);
for (const auto &II : Inputs) {
// If the current tool chain refers to an OpenMP offloading host, we
diff --git a/clang/test/Driver/amdgpu-toolchain.c b/clang/test/Driver/amdgpu-toolchain.c
index b8b6667333d81..288dbbedd49d5 100644
--- a/clang/test/Driver/amdgpu-toolchain.c
+++ b/clang/test/Driver/amdgpu-toolchain.c
@@ -11,6 +11,6 @@
// DWARF_VER: "-dwarf-version=5"
// RUN: %clang -### --target=amdgcn-amd-amdhsa -mcpu=gfx906 -nogpulib \
-// RUN: -flto -fconvergent-functions %s 2>&1 | FileCheck -check-prefix=LTO %s
+// RUN: -L. -flto -fconvergent-functions %s 2>&1 | FileCheck -check-prefix=LTO %s
// LTO: clang{{.*}} "-flto=full"{{.*}}"-fconvergent-functions"
-// LTO: ld.lld{{.*}}-plugin-opt=mcpu=gfx906
+// LTO: ld.lld{{.*}}"-L."{{.*}}"-plugin-opt=mcpu=gfx906"
More information about the cfe-commits
mailing list