LLVM 23.0.0git
llvm::AMDGPU::TargetID Class Reference

#include "llvm/TargetParser/AMDGPUTargetParser.h"

Public Member Functions

 TargetID (GPUKind Arch, const Triple &TT, TargetIDSetting XnackSetting, TargetIDSetting SramEccSetting)
 TargetID (const Triple &TT, StringRef TargetIDStr)
 Construct a TargetID from a triple TT and the processor+features string e.g.
 ~TargetID ()=default
bool isXnackSupported () const
bool isXnackOnOrAny () const
bool isXnackOnOrOff () const
TargetIDSetting getXnackSetting () const
void setXnackSetting (TargetIDSetting NewXnackSetting)
 Sets xnack setting to NewXnackSetting.
bool isSramEccSupported () const
bool isSramEccOnOrAny () const
bool isSramEccOnOrOff () const
TargetIDSetting getSramEccSetting () const
void setSramEccSetting (TargetIDSetting NewSramEccSetting)
 Sets sramecc setting to NewSramEccSetting.
void setTargetIDFromTargetIDStream (StringRef TargetID)
GPUKind getGPUKind () const
StringRef getTargetTripleString () const
bool isAMDHSA () const
bool isCompatibleWith (const TargetID &Other) const
 Returns true if a device image built for *this can satisfy a request for Other (i.e.
void print (raw_ostream &OS) const
std::string toString () const
bool operator== (const TargetID &Other) const
bool operator!= (const TargetID &Other) const

Static Public Member Functions

static std::optional< TargetIDparseTargetIDString (StringRef TargetIDDirective)

Detailed Description

Definition at line 157 of file AMDGPUTargetParser.h.

Constructor & Destructor Documentation

◆ TargetID() [1/2]

TargetID::TargetID ( GPUKind Arch,
const Triple & TT,
TargetIDSetting XnackSetting,
TargetIDSetting SramEccSetting )

◆ TargetID() [2/2]

TargetID::TargetID ( const Triple & TT,
StringRef TargetIDStr )

Construct a TargetID from a triple TT and the processor+features string e.g.

"gfx90a", "gfx90a:xnack+:sramecc-", "".

Definition at line 928 of file AMDGPUTargetParser.cpp.

References llvm::AMDGPU::FEATURE_SRAMECC, llvm::AMDGPU::FEATURE_XNACK, llvm::AMDGPU::getArchAttrAMDGCN(), getGPUKindFromTargetID(), setTargetIDFromTargetIDStream(), TargetID(), and llvm::AMDGPU::Unsupported.

◆ ~TargetID()

llvm::AMDGPU::TargetID::~TargetID ( )
default

Member Function Documentation

◆ getGPUKind()

GPUKind llvm::AMDGPU::TargetID::getGPUKind ( ) const
inline

Definition at line 231 of file AMDGPUTargetParser.h.

◆ getSramEccSetting()

TargetIDSetting llvm::AMDGPU::TargetID::getSramEccSetting ( ) const
inline
Returns
The current sramecc TargetIDSetting, possible options are "Unsupported", "Any", "Off", and "On".

Definition at line 222 of file AMDGPUTargetParser.h.

Referenced by isSramEccOnOrOff(), and print().

◆ getTargetTripleString()

StringRef llvm::AMDGPU::TargetID::getTargetTripleString ( ) const
inline

Definition at line 233 of file AMDGPUTargetParser.h.

Referenced by isCompatibleWith().

◆ getXnackSetting()

TargetIDSetting llvm::AMDGPU::TargetID::getXnackSetting ( ) const
inline
Returns
The current xnack TargetIDSetting, possible options are "Unsupported", "Any", "Off", and "On".

Definition at line 195 of file AMDGPUTargetParser.h.

Referenced by isXnackOnOrOff(), and print().

◆ isAMDHSA()

bool llvm::AMDGPU::TargetID::isAMDHSA ( ) const
inline
Returns
True if this is an AMDHSA target.

Definition at line 236 of file AMDGPUTargetParser.h.

◆ isCompatibleWith()

bool TargetID::isCompatibleWith ( const TargetID & Other) const

Returns true if a device image built for *this can satisfy a request for Other (i.e.

they are compatible and can be grouped together).

Definition at line 1007 of file AMDGPUTargetParser.cpp.

References areFeatureSettingsCompatible(), llvm::AMDGPU::getSubArch(), getTargetTripleString(), isCompatibleWith(), llvm::AMDGPU::isSubArchCompatible(), llvm::AMDGPU::Other, and TargetID().

Referenced by llvm::object::areTargetsCompatible(), and isCompatibleWith().

◆ isSramEccOnOrAny()

bool llvm::AMDGPU::TargetID::isSramEccOnOrAny ( ) const
inline
Returns
True if the current sramecc setting is "On" or "Any".

Definition at line 208 of file AMDGPUTargetParser.h.

◆ isSramEccOnOrOff()

bool llvm::AMDGPU::TargetID::isSramEccOnOrOff ( ) const
inline
Returns
True if current sramecc setting is "On" or "Off", false otherwise.

Definition at line 215 of file AMDGPUTargetParser.h.

References getSramEccSetting().

◆ isSramEccSupported()

bool llvm::AMDGPU::TargetID::isSramEccSupported ( ) const
inline
Returns
True if the current sramecc setting is not "Unsupported".

Definition at line 203 of file AMDGPUTargetParser.h.

Referenced by llvm::AMDGPU::createAMDGPUTargetID().

◆ isXnackOnOrAny()

bool llvm::AMDGPU::TargetID::isXnackOnOrAny ( ) const
inline
Returns
True if the current xnack setting is "On" or "Any".

Definition at line 181 of file AMDGPUTargetParser.h.

Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ isXnackOnOrOff()

bool llvm::AMDGPU::TargetID::isXnackOnOrOff ( ) const
inline
Returns
True if current xnack setting is "On" or "Off", false otherwise.

Definition at line 188 of file AMDGPUTargetParser.h.

References getXnackSetting().

◆ isXnackSupported()

bool llvm::AMDGPU::TargetID::isXnackSupported ( ) const
inline
Returns
True if the current xnack setting is not "Unsupported".

Definition at line 176 of file AMDGPUTargetParser.h.

◆ operator!=()

bool llvm::AMDGPU::TargetID::operator!= ( const TargetID & Other) const
inline

Definition at line 250 of file AMDGPUTargetParser.h.

References llvm::AMDGPU::Other, and TargetID().

◆ operator==()

bool TargetID::operator== ( const TargetID & Other) const

Definition at line 997 of file AMDGPUTargetParser.cpp.

References llvm::AMDGPU::Other, and TargetID().

◆ parseTargetIDString()

std::optional< TargetID > TargetID::parseTargetIDString ( StringRef TargetIDDirective)
static

◆ print()

void TargetID::print ( raw_ostream & OS) const

◆ setSramEccSetting()

void llvm::AMDGPU::TargetID::setSramEccSetting ( TargetIDSetting NewSramEccSetting)
inline

Sets sramecc setting to NewSramEccSetting.

Definition at line 225 of file AMDGPUTargetParser.h.

Referenced by llvm::AMDGPU::createAMDGPUTargetID().

◆ setTargetIDFromTargetIDStream()

void TargetID::setTargetIDFromTargetIDStream ( StringRef TargetID)

Definition at line 941 of file AMDGPUTargetParser.cpp.

References getTargetIDSettingFromFeatureString(), and TargetID().

Referenced by TargetID().

◆ setXnackSetting()

void llvm::AMDGPU::TargetID::setXnackSetting ( TargetIDSetting NewXnackSetting)
inline

Sets xnack setting to NewXnackSetting.

Definition at line 198 of file AMDGPUTargetParser.h.

Referenced by llvm::AMDGPU::createAMDGPUTargetID().

◆ toString()

std::string TargetID::toString ( ) const

The documentation for this class was generated from the following files: