|
LLVM 24.0.0git
|
#include "llvm/TargetParser/AMDGPUTargetParser.h"
Static Public Member Functions | |
| static std::optional< TargetID > | parse (const Triple &TT, StringRef ProcAndFeatures) |
Parse and validate a TargetID for triple TT from the processor+features string ProcAndFeatures (e.g. | |
| static std::optional< TargetID > | parseTargetIDString (StringRef TargetIDDirective) |
| Parse and validate a TargetID from a full "<triple>-<processor>:<features>" directive string. | |
Definition at line 172 of file AMDGPUTargetParser.h.
| TargetID::TargetID | ( | GPUKind | Arch, |
| const Triple & | TT, | ||
| TargetIDSetting | XnackSetting, | ||
| TargetIDSetting | SramEccSetting ) |
Definition at line 1015 of file AMDGPUTargetParser.cpp.
Referenced by isEquivalent(), operator!=(), operator==(), providesFor(), and TargetID().
Construct a TargetID from a triple TT and the processor+features string e.g.
"gfx90a", "gfx90a:xnack+:sramecc-", "".
Definition at line 1090 of file AMDGPUTargetParser.cpp.
References computeTargetIDFeatures(), getGPUKindFromTargetID(), TargetID(), and llvm::AMDGPU::Unsupported.
|
default |
| std::string TargetID::getCanonicalFeatureString | ( | ) | const |
Definition at line 1173 of file AMDGPUTargetParser.cpp.
References printCanonicalTargetIDString().
|
inline |
Definition at line 244 of file AMDGPUTargetParser.h.
Referenced by createOccupancy().
|
inline |
Definition at line 237 of file AMDGPUTargetParser.h.
Referenced by isSramEccOnOrOff(), print(), and printCanonicalTargetIDString().
|
inline |
Definition at line 246 of file AMDGPUTargetParser.h.
Referenced by isEquivalent(), and providesFor().
|
inline |
Definition at line 210 of file AMDGPUTargetParser.h.
Referenced by isXnackOnOrOff(), print(), and printCanonicalTargetIDString().
|
inline |
Definition at line 249 of file AMDGPUTargetParser.h.
Returns true if Other denotes the same target as *this, i.e.
the same processor and xnack/sramecc settings on a compatible triple. This is a semantic equality that looks through spelling differences.
Definition at line 1192 of file AMDGPUTargetParser.cpp.
References getTargetTripleString(), llvm::Triple::isCompatibleWith(), llvm::AMDGPU::Other, and TargetID().
Referenced by llvm::object::areTargetsEquivalent().
|
inline |
Definition at line 223 of file AMDGPUTargetParser.h.
|
inline |
Definition at line 230 of file AMDGPUTargetParser.h.
References getSramEccSetting().
|
inline |
Definition at line 218 of file AMDGPUTargetParser.h.
Referenced by llvm::AMDGPU::createAMDGPUTargetID().
|
inline |
Definition at line 196 of file AMDGPUTargetParser.h.
Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 203 of file AMDGPUTargetParser.h.
References getXnackSetting().
|
inline |
Definition at line 191 of file AMDGPUTargetParser.h.
Definition at line 288 of file AMDGPUTargetParser.h.
References llvm::AMDGPU::Other, and TargetID().
Definition at line 1180 of file AMDGPUTargetParser.cpp.
References llvm::AMDGPU::Other, and TargetID().
Parse and validate a TargetID for triple TT from the processor+features string ProcAndFeatures (e.g.
"gfx90a", "gfx90a:xnack+:sramecc-", ""). Returns std::nullopt if the triple is not AMDGCN, the processor is unrecognized, or a feature modifier is invalid for the processor.
Definition at line 1098 of file AMDGPUTargetParser.cpp.
References computeTargetIDFeatures(), llvm::StringRef::empty(), getGPUKindFromTargetID(), llvm::AMDGPU::isCPUValidForSubArch(), llvm::Triple::NoSubArch, and llvm::StringRef::split().
Referenced by parseTargetIDString().
Parse and validate a TargetID from a full "<triple>-<processor>:<features>" directive string.
Definition at line 1127 of file AMDGPUTargetParser.cpp.
References parse(), llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::StringRef::split().
| void TargetID::print | ( | raw_ostream & | OS | ) | const |
Definition at line 1154 of file AMDGPUTargetParser.cpp.
References llvm::AMDGPU::getArchNameAMDGCN(), getSramEccSetting(), getXnackSetting(), and printFeatureModifiers().
Referenced by llvm::AMDGPU::operator<<().
| void TargetID::printCanonicalTargetIDString | ( | raw_ostream & | OS | ) | const |
Print the canonical processor name followed by any explicit xnack and sramecc feature modifiers (e.g.
"gfx908:sramecc-:xnack+"), without the triple prefix.
Definition at line 1168 of file AMDGPUTargetParser.cpp.
References llvm::AMDGPU::getArchNameAMDGCN(), getSramEccSetting(), getXnackSetting(), and printFeatureModifiers().
Referenced by getCanonicalFeatureString().
Returns true if a device image for *this can provide the device code for a request for Other.
This is directional and models logical-linking compatibility.
Definition at line 1202 of file AMDGPUTargetParser.cpp.
References featureProvidesFor(), llvm::AMDGPU::getMajorSubArch(), llvm::AMDGPU::getSubArch(), getTargetTripleString(), llvm::AMDGPU::GK_NONE, llvm::Triple::isCompatibleWith(), llvm::AMDGPU::Other, and TargetID().
Referenced by llvm::object::areTargetsCompatible().
|
inline |
Sets sramecc setting to NewSramEccSetting.
Definition at line 240 of file AMDGPUTargetParser.h.
Referenced by llvm::AMDGPU::createAMDGPUTargetID().
|
inline |
Sets xnack setting to NewXnackSetting.
Definition at line 213 of file AMDGPUTargetParser.h.
Referenced by llvm::AMDGPU::createAMDGPUTargetID().
| std::string TargetID::toString | ( | ) | const |
Definition at line 1161 of file AMDGPUTargetParser.cpp.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitTargetID().