[clang] [Clang] Rework creating offloading toolchains (PR #125556)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 18 13:17:44 PDT 2025
================
@@ -109,65 +110,6 @@ using namespace clang::driver;
using namespace clang;
using namespace llvm::opt;
-static std::optional<llvm::Triple> getOffloadTargetTriple(const Driver &D,
- const ArgList &Args) {
- auto OffloadTargets = Args.getAllArgValues(options::OPT_offload_EQ);
- // Offload compilation flow does not support multiple targets for now. We
----------------
jhuber6 wrote:
Yes, this unifies the OpenMP way of doing it. If you had some incredibly complex scenario it would look like this for OpenMP.
```
clang -fopenmp input.c --offload-targets=amdgcn-amd-amdhsa,nvptx64-nvidia-cuda,x86_64-unknown-linux-gnu -Xarch_amdgcn --offload-arch=gfx1030,gfx90a -Xarch_nvptx64 --offload-arch=sm_89 -Xarch_x86_64 --offload-arch=skylake
```
SYCL would work the same way, it would just create different toolchains due to the SYCL offloading kind.
https://github.com/llvm/llvm-project/pull/125556
More information about the cfe-commits
mailing list