9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPU_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPU_H
18#include "llvm/ADT/SmallString.h"
19#include "llvm/TargetParser/TargetParser.h"
29class LLVM_LIBRARY_VISIBILITY
Linker final :
public Tool {
36 const llvm::opt::ArgList &TCArgs,
37 const char *LinkingOutput)
const override;
41 const llvm::opt::ArgList &Args,
42 std::vector<StringRef> &Features);
53 Tool *buildLinker()
const override;
55 auto opt = OptionsDefault.find(OptID);
56 assert(opt != OptionsDefault.end() &&
"No Default for Option");
62 const llvm::opt::ArgList &Args);
74 llvm::opt::DerivedArgList *
75 TranslateArgs(
const llvm::opt::DerivedArgList &Args, StringRef BoundArch,
78 void addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
79 llvm::opt::ArgStringList &CC1Args,
84 static bool getDefaultDenormsAreZeroForTarget(llvm::AMDGPU::GPUKind GPUKind);
86 llvm::DenormalMode getDefaultDenormalModeForType(
87 const llvm::opt::ArgList &DriverArgs,
const JobAction &JA,
88 const llvm::fltSemantics *FPType =
nullptr)
const override;
90 static bool isWave64(
const llvm::opt::ArgList &DriverArgs,
91 llvm::AMDGPU::GPUKind
Kind);
101 bool shouldSkipSanitizeOption(
const ToolChain &TC,
102 const llvm::opt::ArgList &DriverArgs,
104 const llvm::opt::Arg *A)
const;
109 getSystemGPUArchs(
const llvm::opt::ArgList &Args)
const override;
113 virtual void checkTargetID(
const llvm::opt::ArgList &DriverArgs)
const;
125 getParsedTargetID(
const llvm::opt::ArgList &DriverArgs)
const;
128 StringRef getGPUArch(
const llvm::opt::ArgList &DriverArgs)
const;
132 void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args)
const override;
138 const llvm::opt::ArgList &Args);
140 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
141 llvm::opt::ArgStringList &CC1Args,
146 getCommonDeviceLibNames(
const llvm::opt::ArgList &DriverArgs,
147 const std::string &GPUArch,
148 bool isOpenMP =
false)
const;
150 return SanitizerKind::Address;
enum clang::sema::@1712::IndirectLocalPathEntry::EntryKind Kind
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...
The JSON file list parser is used to communicate input to InstallAPI.