13#ifndef LLVM_TARGETPARSER_AMDGPUTARGETPARSER_H
14#define LLVM_TARGETPARSER_AMDGPUTARGETPARSER_H
37#define R600_GPU(NAME, ENUM, FEATURES) ENUM,
38#define AMDGCN_GPU(NAME, ENUM, ISAVERSION, FEATURES) ENUM,
39#include "AMDGPUTargetParser.def"
106LLVM_ABI std::pair<FeatureError, StringRef>
114 std::string TargetTripleString;
127 return XnackSetting != TargetIDSetting::Unsupported;
132 return XnackSetting == TargetIDSetting::On ||
133 XnackSetting == TargetIDSetting::Any;
149 XnackSetting = NewXnackSetting;
154 return SramEccSetting != TargetIDSetting::Unsupported;
159 return SramEccSetting == TargetIDSetting::On ||
160 SramEccSetting == TargetIDSetting::Any;
176 SramEccSetting = NewSramEccSetting;
188 static std::optional<TargetID>
189 parseTargetIDString(
StringRef TargetIDDirective);
This file defines the StringMap class.
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
static const char * toString(MIToken::TokenKind TokenKind)
bool operator==(const MergedFunctionsInfo &LHS, const MergedFunctionsInfo &RHS)
bool isXnackSupported() const
bool isXnackOnOrOff() const
void setSramEccSetting(TargetIDSetting NewSramEccSetting)
Sets sramecc setting to NewSramEccSetting.
void print(raw_ostream &OS) const
bool isSramEccOnOrOff() const
TargetIDSetting getXnackSetting() const
bool operator!=(const TargetID &Other) const
GPUKind getGPUKind() const
bool isSramEccOnOrAny() const
StringRef getTargetTripleString() const
TargetID(GPUKind Arch, const Triple &TT, TargetIDSetting XnackSetting, TargetIDSetting SramEccSetting)
bool isXnackOnOrAny() const
bool isSramEccSupported() const
void setXnackSetting(TargetIDSetting NewXnackSetting)
Sets xnack setting to NewXnackSetting.
TargetIDSetting getSramEccSetting() const
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
This class implements an extremely fast bulk output stream that can only output to a stream.
LLVM_ABI StringRef getArchNameR600(GPUKind AK)
GPUKind
GPU kinds supported by the AMDGPU target.
@ GK_AMDGCN_GENERIC_FIRST
LLVM_ABI StringRef getCanonicalArchName(const Triple &T, StringRef Arch)
LLVM_ABI void fillValidArchListR600(SmallVectorImpl< StringRef > &Values)
LLVM_ABI StringRef getArchFamilyNameAMDGCN(GPUKind AK)
LLVM_ABI IsaVersion getIsaVersion(StringRef GPU)
LLVM_ABI void fillValidArchListAMDGCN(SmallVectorImpl< StringRef > &Values)
LLVM_ABI GPUKind parseArchAMDGCN(StringRef CPU)
raw_ostream & operator<<(raw_ostream &OS, const TargetID &TargetID)
@ UNSUPPORTED_TARGET_FEATURE
@ INVALID_FEATURE_COMBINATION
@ FEATURE_FAST_DENORMAL_F32
@ FEATURE_XNACK_ON_OFF_MODES
LLVM_ABI std::pair< FeatureError, StringRef > fillAMDGPUFeatureMap(StringRef GPU, const Triple &T, StringMap< bool > &Features)
Fills Features map with default values for given target GPU.
LLVM_ABI StringRef getArchNameAMDGCN(GPUKind AK)
LLVM_ABI unsigned getArchAttrAMDGCN(GPUKind AK)
LLVM_ABI unsigned getArchAttrR600(GPUKind AK)
LLVM_ABI GPUKind parseArchR600(StringRef CPU)
This is an optimization pass for GlobalISel generic memory operations.
RelativeUniformCounterPtr Values
Instruction set architecture version.