[clang] clang: Remove hacky OpenMP handling for appending bound arch (PR #201555)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 4 04:36:31 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
Use the same path as CUDA/HIP and stop doing a hacky search through
the arguments looking for -march.
---
Full diff: https://github.com/llvm/llvm-project/pull/201555.diff
1 Files Affected:
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+2-36)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 7657afb14f077..727bc74450e32 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -9322,28 +9322,11 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA,
Triples += '-';
Triples +=
CurTC->getTriple().normalize(llvm::Triple::CanonicalForm::FOUR_IDENT);
- if ((CurKind == Action::OFK_HIP || CurKind == Action::OFK_Cuda) &&
+ if (CurKind != Action::OFK_Host &&
!StringRef(CurDep->getOffloadingArch()).empty()) {
Triples += '-';
Triples += CurDep->getOffloadingArch();
}
-
- // TODO: Replace parsing of -march flag. Can be done by storing GPUArch
- // with each toolchain.
- StringRef GPUArchName;
- if (CurKind == Action::OFK_OpenMP) {
- // Extract GPUArch from -march argument in TC argument list.
- for (unsigned ArgIndex = 0; ArgIndex < TCArgs.size(); ArgIndex++) {
- auto ArchStr = StringRef(TCArgs.getArgString(ArgIndex));
- auto Arch = ArchStr.starts_with_insensitive("-march=");
- if (Arch) {
- GPUArchName = ArchStr.substr(7);
- Triples += "-";
- break;
- }
- }
- Triples += GPUArchName.str();
- }
}
CmdArgs.push_back(TCArgs.MakeArgString(Triples));
@@ -9417,28 +9400,11 @@ void OffloadBundler::ConstructJobMultipleOutputs(
Triples += '-';
Triples += Dep.DependentToolChain->getTriple().normalize(
llvm::Triple::CanonicalForm::FOUR_IDENT);
- if ((Dep.DependentOffloadKind == Action::OFK_HIP ||
- Dep.DependentOffloadKind == Action::OFK_Cuda) &&
+ if (Dep.DependentOffloadKind != Action::OFK_Host &&
!Dep.DependentBoundArch.empty()) {
Triples += '-';
Triples += Dep.DependentBoundArch;
}
- // TODO: Replace parsing of -march flag. Can be done by storing GPUArch
- // with each toolchain.
- StringRef GPUArchName;
- if (Dep.DependentOffloadKind == Action::OFK_OpenMP) {
- // Extract GPUArch from -march argument in TC argument list.
- for (unsigned ArgIndex = 0; ArgIndex < TCArgs.size(); ArgIndex++) {
- StringRef ArchStr = StringRef(TCArgs.getArgString(ArgIndex));
- auto Arch = ArchStr.starts_with_insensitive("-march=");
- if (Arch) {
- GPUArchName = ArchStr.substr(7);
- Triples += "-";
- break;
- }
- }
- Triples += GPUArchName.str();
- }
}
CmdArgs.push_back(TCArgs.MakeArgString(Triples));
``````````
</details>
https://github.com/llvm/llvm-project/pull/201555
More information about the cfe-commits
mailing list