diff options
| author | Fangrui Song <i@maskray.me> | 2025-06-20 20:13:04 -0700 |
|---|---|---|
| committer | Fangrui Song <i@maskray.me> | 2025-06-20 20:13:04 -0700 |
| commit | 95fbfc9be5d2842a945c04a20fe6244df9b10e18 (patch) | |
| tree | 00f80558d11aa5805e6d6f290663c6da44e5e6ef /clang/lib/Driver/Driver.cpp | |
| parent | a9ba028b98ffd53d9c7d00ca7563d74810fcf6e7 (diff) | |
| parent | 17e8465a3eb0cae48b9f62d27fd26f2b070f1f9b (diff) | |
[𝘀𝗽𝗿] changes introduced through rebaseusers/MaskRay/spr/main.move-relocation-specifier-constants-to-aarch64
Created using spr 1.3.5-bogner
[skip ci]
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
| -rw-r--r-- | clang/lib/Driver/Driver.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 2f86b6633df1..2d055ffa17a8 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -33,6 +33,7 @@ #include "ToolChains/Linux.h" #include "ToolChains/MSP430.h" #include "ToolChains/MSVC.h" +#include "ToolChains/Managarm.h" #include "ToolChains/MinGW.h" #include "ToolChains/MipsLinux.h" #include "ToolChains/NaCl.h" @@ -6850,6 +6851,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, case llvm::Triple::Fuchsia: TC = std::make_unique<toolchains::Fuchsia>(*this, Target, Args); break; + case llvm::Triple::Managarm: + TC = std::make_unique<toolchains::Managarm>(*this, Target, Args); + break; case llvm::Triple::Solaris: TC = std::make_unique<toolchains::Solaris>(*this, Target, Args); break; @@ -6857,11 +6861,17 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, TC = std::make_unique<toolchains::NVPTXToolChain>(*this, Target, Args); break; case llvm::Triple::AMDHSA: { - bool DL = - usesInput(Args, types::isOpenCL) || usesInput(Args, types::isLLVMIR); - TC = DL ? std::make_unique<toolchains::ROCMToolChain>(*this, Target, Args) - : std::make_unique<toolchains::AMDGPUToolChain>(*this, Target, - Args); + if (Target.getArch() == llvm::Triple::spirv64) { + TC = std::make_unique<toolchains::SPIRVAMDToolChain>(*this, Target, + Args); + } else { + bool DL = usesInput(Args, types::isOpenCL) || + usesInput(Args, types::isLLVMIR); + TC = DL ? std::make_unique<toolchains::ROCMToolChain>(*this, Target, + Args) + : std::make_unique<toolchains::AMDGPUToolChain>(*this, Target, + Args); + } break; } case llvm::Triple::AMDPAL: |
