clang 23.0.0git
AMDGPU.cpp
Go to the documentation of this file.
1//===--- AMDGPU.cpp - AMDGPU Helpers for Tools ----------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "AMDGPU.h"
10#include "clang/Driver/Driver.h"
12
13using namespace clang::driver;
14using namespace clang::driver::tools;
15using namespace clang;
16using namespace llvm::opt;
17
18void AMDGPU::setArchNameInTriple(const Driver &D, const ArgList &Args,
19 types::ID InputType, llvm::Triple &Triple) {
20 StringRef MArch;
21 AMDGPU::getAMDGPUArchCPUFromArgs(Triple, Args, MArch);
22
23 if (MArch == "amdgcnspirv") {
24 Triple.setArch(llvm::Triple::ArchType::spirv64);
25 return;
26 }
27}
28
29void AMDGPU::getAMDGPUArchCPUFromArgs(const llvm::Triple &Triple,
30 const llvm::opt::ArgList &Args,
31 llvm::StringRef &Arch) {
32 if (const Arg *MCPU = Args.getLastArg(options::OPT_mcpu_EQ))
33 Arch = MCPU->getValue();
34}
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
Definition Driver.h:94
void setArchNameInTriple(const Driver &D, const llvm::opt::ArgList &Args, types::ID InputType, llvm::Triple &Triple)
void getAMDGPUArchCPUFromArgs(const llvm::Triple &Triple, const llvm::opt::ArgList &Args, llvm::StringRef &Arch)
Definition AMDGPU.cpp:29
The JSON file list parser is used to communicate input to InstallAPI.