[clang] [Clang][AMDGPU] Search both amdgcn and amdgpu libraries (PR #209770)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 15 07:36:17 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Joseph Huber (jhuber6)
<details>
<summary>Changes</summary>
Summary:
Temporary workaround as we transition triples from amdgcn to amdgpu.
---
Full diff: https://github.com/llvm/llvm-project/pull/209770.diff
3 Files Affected:
- (modified) clang/lib/Driver/ToolChain.cpp (+8)
- (added) clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/amdgpu-amd-amdhsa/libclang_rt.profile.a ()
- (modified) clang/test/Driver/amdgpu-toolchain.c (+6)
``````````diff
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index f894a0635de13..53e4583e5d9d0 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -1122,6 +1122,14 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const {
if (auto Path = getPathForTriple(T))
return *Path;
+ // Handle the legacy AMDGPU triple case as well.
+ if (T.getArchName() == "amdgcn") {
+ llvm::Triple Canon(T);
+ Canon.setArchName("amdgpu");
+ if (auto Path = getPathForTriple(Canon))
+ return *Path;
+ }
+
if (T.isOSAIX()) {
llvm::Triple AIXTriple;
if (T.getEnvironment() == Triple::UnknownEnvironment) {
diff --git a/clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/amdgpu-amd-amdhsa/libclang_rt.profile.a b/clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/amdgpu-amd-amdhsa/libclang_rt.profile.a
new file mode 100644
index 0000000000000..e69de29bb2d1d
diff --git a/clang/test/Driver/amdgpu-toolchain.c b/clang/test/Driver/amdgpu-toolchain.c
index 78b76aa8bc8c5..cb49e7311445c 100644
--- a/clang/test/Driver/amdgpu-toolchain.c
+++ b/clang/test/Driver/amdgpu-toolchain.c
@@ -71,3 +71,9 @@
// RUN: | FileCheck -check-prefixes=UBSAN %s
// UBSAN: ld.lld
// UBSAN-SAME: "[[RESOURCE_DIR:.+]]{{/|\\\\}}lib{{/|\\\\}}amdgcn-amd-amdhsa{{/|\\\\}}libclang_rt.ubsan_minimal.a"
+
+// RUN: %clang -### --target=amdgcn-amd-amdhsa -mcpu=gfx906 -nogpulib \
+// RUN: -resource-dir=%S/Inputs/resource_dir_with_amdgpu_per_target_subdir \
+// RUN: -fprofile-generate %s 2>&1 | FileCheck -check-prefixes=PROFILE-AMDGPU %s
+// PROFILE-AMDGPU: ld.lld
+// PROFILE-AMDGPU-SAME: "[[RESOURCE_DIR:.+]]{{/|\\\\}}lib{{/|\\\\}}amdgpu-amd-amdhsa{{/|\\\\}}libclang_rt.profile.a"
``````````
</details>
https://github.com/llvm/llvm-project/pull/209770
More information about the cfe-commits
mailing list