[clang] [Clang][AMDGPU] Search both amdgcn and amdgpu libraries (PR #209770)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 15 07:22:45 PDT 2026
https://github.com/jhuber6 created https://github.com/llvm/llvm-project/pull/209770
Summary:
Temporary workaround as we transition triples from amdgcn to amdgpu.
>From bd1bbcf0d38fed43f76b6894321e2ab4098b02f1 Mon Sep 17 00:00:00 2001
From: Joseph Huber <huberjn at outlook.com>
Date: Wed, 15 Jul 2026 09:11:52 -0500
Subject: [PATCH] [Clang][AMDGPU] Search both amdgcn and amdgpu libraries
Summary:
Temporary workaround as we transition triples from amdgcn to amdgpu.
---
clang/lib/Driver/ToolChain.cpp | 8 ++++++++
.../lib/amdgpu-amd-amdhsa/libclang_rt.profile.a | 0
clang/test/Driver/amdgpu-toolchain.c | 6 ++++++
3 files changed, 14 insertions(+)
create mode 100644 clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/amdgpu-amd-amdhsa/libclang_rt.profile.a
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"
More information about the cfe-commits
mailing list