[clang] clang/AMDGPU: Use effective triple instead of raw toolchain triple (PR #205054)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 22 01:25:07 PDT 2026
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/205054
Start using the effective triple instead of the raw toolchain triple.
For the moment this is NFC, but will change when new uses of the subarch
field are introduced.
>From 1eb70f13ed225be7bceda4250a288dd70514e1bd Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 22 Jun 2026 09:18:56 +0200
Subject: [PATCH] clang/AMDGPU: Use effective triple instead of raw toolchain
triple
Start using the effective triple instead of the raw toolchain triple.
For the moment this is NFC, but will change when new uses of the subarch
field are introduced.
---
clang/lib/Driver/Driver.cpp | 2 +-
clang/lib/Driver/ToolChains/AMDGPU.cpp | 4 ++--
clang/lib/Driver/ToolChains/CommonArgs.cpp | 5 +++--
clang/lib/Driver/ToolChains/HIPAMD.cpp | 2 +-
4 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index d153e99d37280..7bf02223bc4ce 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -5985,7 +5985,7 @@ static void handleTimeTrace(Compilation &C, const ArgList &Args,
if (JA->getOffloadingDeviceKind() != Action::OFK_None) {
const ToolChain *TC = JA->getOffloadingToolChain();
OffloadingPrefix = Action::GetOffloadingFileNamePrefix(
- JA->getOffloadingDeviceKind(), TC ? TC->getTripleString() : "",
+ JA->getOffloadingDeviceKind(), TC ? TC->getEffectiveTriple().str() : "",
/*CreatePrefixForHost=*/false);
if (const char *Arch = JA->getOffloadingArch()) {
OffloadingPrefix += "-";
diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp
index b57579f135b36..dfafe48c1900f 100644
--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp
+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -626,8 +626,8 @@ void amdgpu::Linker::ConstructJob(Compilation &C, const JobAction &JA,
// Always pass the target-id features to the LTO job.
std::vector<StringRef> Features;
- getAMDGPUTargetFeatures(C.getDriver(), getToolChain().getTriple(), Args,
- Features);
+ getAMDGPUTargetFeatures(C.getDriver(), getToolChain().getEffectiveTriple(),
+ Args, Features);
if (!Features.empty()) {
CmdArgs.push_back(
Args.MakeArgString("-plugin-opt=-mattr=" + llvm::join(Features, ",")));
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 547405eaf7663..07ad7d80b39c1 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -2800,8 +2800,9 @@ static void GetSDLFromOffloadArchive(
SmallString<128> DeviceTriple;
DeviceTriple += Action::GetOffloadKindName(JA.getOffloadingDeviceKind());
DeviceTriple += '-';
- std::string NormalizedTriple = T.getToolChain().getTriple().normalize(
- llvm::Triple::CanonicalForm::FOUR_IDENT);
+ std::string NormalizedTriple =
+ T.getToolChain().getEffectiveTriple().normalize(
+ llvm::Triple::CanonicalForm::FOUR_IDENT);
DeviceTriple += NormalizedTriple;
if (!Target.empty()) {
DeviceTriple += '-';
diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp
index e48c28408dc67..185d733216538 100644
--- a/clang/lib/Driver/ToolChains/HIPAMD.cpp
+++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp
@@ -75,7 +75,7 @@ void AMDGCN::Linker::constructLldCommand(Compilation &C, const JobAction &JA,
// Extract all the -m options
std::vector<llvm::StringRef> Features;
- amdgpu::getAMDGPUTargetFeatures(D, TC.getTriple(), Args, Features);
+ amdgpu::getAMDGPUTargetFeatures(D, TC.getEffectiveTriple(), Args, Features);
// Add features to mattr such as cumode
std::string MAttrString = "-plugin-opt=-mattr=";
More information about the cfe-commits
mailing list