9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPU_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPU_H
17#include "llvm/ADT/SmallString.h"
18#include "llvm/TargetParser/AMDGPUTargetParser.h"
28class LLVM_LIBRARY_VISIBILITY
Linker final :
public Tool {
35 const llvm::opt::ArgList &TCArgs,
36 const char *LinkingOutput)
const override;
40 const llvm::opt::ArgList &Args,
41 std::vector<StringRef> &Features);
44 llvm::opt::ArgStringList &CmdArgs);
63 const llvm::opt::ArgList &Args);
75 llvm::opt::DerivedArgList *
76 TranslateArgs(
const llvm::opt::DerivedArgList &Args,
BoundArch BA,
80 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
81 llvm::opt::ArgStringList &CC1Args,
BoundArch BA,
84 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
85 llvm::opt::ArgStringList &CC1Args)
const override;
89 static bool getDefaultDenormsAreZeroForTarget(llvm::AMDGPU::GPUKind GPUKind);
91 llvm::DenormalMode getDefaultDenormalModeForType(
92 const llvm::opt::ArgList &DriverArgs,
const JobAction &JA,
93 const llvm::fltSemantics *FPType =
nullptr)
const override;
95 static bool isWave64(
const llvm::opt::ArgList &DriverArgs,
96 llvm::AMDGPU::GPUKind Kind);
109 getSystemGPUArchs(
const llvm::opt::ArgList &Args)
const override;
130 StringRef
getGPUArch(
const llvm::opt::ArgList &DriverArgs)
const;
144 const llvm::opt::ArgList &Args);
146 llvm::opt::DerivedArgList *
152 llvm::opt::ArgStringList &CC1Args,
BoundArch BA,
158 llvm::StringRef TargetID, llvm::StringRef GPUArch,
Compilation - A set of tasks to perform for a single driver invocation.
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
SmallVector< InputInfo, 4 > InputInfoList
The JSON file list parser is used to communicate input to InstallAPI.
Represents a bound architecture for offload / multiple architecture compilation.