13#include "llvm/TargetParser/AMDGPUTargetParser.h"
22 llvm::Triple &Triple) {
27 if (MArch ==
"amdgcnspirv") {
28 Triple.setArch(llvm::Triple::ArchType::spirv64);
33 llvm::AMDGPU::GPUKind GK = llvm::AMDGPU::parseArchAMDGCN(ProcName);
34 if (GK == llvm::AMDGPU::GPUKind::GK_NONE) {
36 Triple.setArch(Triple.getArch(), Triple.getSubArch());
40 Triple.setArch(Triple.getArch(),
static_cast<llvm::Triple::SubArchType
>(
41 llvm::AMDGPU::getSubArch(GK)));
45 const llvm::opt::ArgList &Args,
46 llvm::StringRef &
Arch) {
47 if (
const Arg *MCPU = Args.getLastArg(options::OPT_mcpu_EQ))
48 Arch = MCPU->getValue();
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
Top level wrappers for InstallAPI frontend operations.
llvm::StringRef getProcessorFromTargetID(const llvm::Triple &T, llvm::StringRef OffloadArch)
Get processor name from target ID.
Represents a bound architecture for offload / multiple architecture compilation.