@@ -973,8 +973,10 @@ static TripleSet inferOffloadToolchains(Compilation &C,
973973 for (llvm::StringRef Arch : Archs) {
974974 OffloadArch ID = StringToOffloadArch (Arch);
975975 if (ID == OffloadArch::Unknown)
976- ID = StringToOffloadArch (
977- getProcessorFromTargetID (llvm::Triple (" amdgcn-amd-amdhsa" ), Arch));
976+ ID = StringToOffloadArch (getProcessorFromTargetID (
977+ llvm::Triple (llvm::Triple::amdgcn, llvm::Triple::NoSubArch,
978+ llvm::Triple::AMD, llvm::Triple::AMDHSA),
979+ Arch));
978980
979981 if (Kind == Action::OFK_HIP && !IsAMDOffloadArch (ID)) {
980982 C.getDriver ().Diag (clang::diag::err_drv_offload_bad_gpu_arch)
@@ -1020,17 +1022,20 @@ static TripleSet inferOffloadToolchains(Compilation &C,
10201022
10211023 // Infer the default target triple if no specific architectures are given.
10221024 if (Archs.empty () && Kind == Action::OFK_HIP)
1023- Triples.insert (llvm::Triple (" amdgcn-amd-amdhsa" ));
1024- else if (Archs.empty () && Kind == Action::OFK_Cuda)
1025+ Triples.insert (llvm::Triple (llvm::Triple::amdgcn, llvm::Triple::NoSubArch,
1026+ llvm::Triple::AMD, llvm::Triple::AMDHSA));
1027+ else if (Archs.empty () && Kind == Action::OFK_Cuda) {
1028+ llvm::Triple::ArchType Arch =
1029+ C.getDefaultToolChain ().getTriple ().isArch64Bit ()
1030+ ? llvm::Triple::nvptx64
1031+ : llvm::Triple::nvptx;
1032+ Triples.insert (llvm::Triple (Arch, llvm::Triple::NoSubArch,
1033+ llvm::Triple::NVIDIA, llvm::Triple::CUDA));
1034+ } else if (Archs.empty () && Kind == Action::OFK_SYCL)
10251035 Triples.insert (
10261036 llvm::Triple (C.getDefaultToolChain ().getTriple ().isArch64Bit ()
1027- ? " nvptx64-nvidia-cuda"
1028- : " nvptx-nvidia-cuda" ));
1029- else if (Archs.empty () && Kind == Action::OFK_SYCL)
1030- Triples.insert (
1031- llvm::Triple (C.getDefaultToolChain ().getTriple ().isArch64Bit ()
1032- ? " spirv64-unknown-unknown"
1033- : " spirv32-unknown-unknown" ));
1037+ ? llvm::Triple::spirv64
1038+ : llvm::Triple::spirv32));
10341039
10351040 // We need to dispatch these to the appropriate toolchain now.
10361041 C.getArgs ().eraseArg (options::OPT_offload_arch_EQ);
0 commit comments