[clang] [Driver] Normalize SPIRV offload triple to canonical form (PR #218792)
Tom Honermann via cfe-commits
cfe-commits at lists.llvm.org
Sun Sep 13 20:23:54 PDT 2026
================
@@ -1119,7 +1119,14 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
std::vector<std::string> ArgValues =
C.getInputArgs().getAllArgValues(options::OPT_offload_targets_EQ);
for (llvm::StringRef Target : ArgValues) {
- Triples.insert(ToolChain::normalizeOffloadTriple(Target));
+ llvm::Triple T(ToolChain::normalizeOffloadTriple(Target));
+ if (T.isSPIRV() && Kinds.contains(Action::OFK_SYCL)) {
+ if (T.getVendor() == llvm::Triple::UnknownVendor)
+ T.setVendor(llvm::Triple::UnknownVendor);
+ if (T.getOS() == llvm::Triple::UnknownOS)
+ T.setOS(llvm::Triple::UnknownOS);
+ }
----------------
tahonermann wrote:
Oh, I see, this isn't just for SPIR-V; this is also done for NVPTX and AMDGCN, but in `ToolChain::normalizeOffloadTriple()` itself. Please move these changes there.
https://github.com/llvm/llvm-project/pull/218792
More information about the cfe-commits
mailing list