LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
AMDGPUBaseInfo.h File Reference
#include "AMDGPUSubtarget.h"
#include "SIDefines.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Alignment.h"
#include <array>
#include <functional>
#include <utility>
#include "AMDGPUGenSearchableTables.inc"

Go to the source code of this file.

Classes

struct  llvm::AMDGPU::GcnBufferFormatInfo
 
struct  llvm::AMDGPU::MAIInstInfo
 
class  llvm::AMDGPU::IsaInfo::AMDGPUTargetID
 
struct  llvm::AMDGPU::EncodingField< HighBit, LowBit, D >
 
struct  llvm::AMDGPU::EncodingFields< Fields >
 
struct  llvm::AMDGPU::MIMGBaseOpcodeInfo
 
struct  llvm::AMDGPU::MIMGDimInfo
 
struct  llvm::AMDGPU::MIMGLZMappingInfo
 
struct  llvm::AMDGPU::MIMGMIPMappingInfo
 
struct  llvm::AMDGPU::MIMGBiasMappingInfo
 
struct  llvm::AMDGPU::MIMGOffsetMappingInfo
 
struct  llvm::AMDGPU::MIMGG16MappingInfo
 
struct  llvm::AMDGPU::WMMAOpcodeMappingInfo
 
struct  llvm::AMDGPU::MIMGInfo
 
struct  llvm::AMDGPU::CanBeVOPD
 
class  llvm::AMDGPU::VOPD::ComponentProps
 
class  llvm::AMDGPU::VOPD::ComponentLayout
 
class  llvm::AMDGPU::VOPD::ComponentInfo
 
class  llvm::AMDGPU::VOPD::InstInfo
 
struct  llvm::AMDGPU::Waitcnt
 Represents the counter values to wait for in an s_waitcnt instruction. More...
 
struct  llvm::AMDGPU::Hwreg::HwregSize
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::AMDGPU
 
namespace  llvm::AMDGPU::GenericVersion
 Generic target versions emitted by this version of LLVM.
 
namespace  llvm::AMDGPU::IsaInfo
 
namespace  llvm::AMDGPU::VOPD
 
namespace  llvm::AMDGPU::Hwreg
 
namespace  llvm::AMDGPU::DepCtr
 
namespace  llvm::AMDGPU::Exp
 
namespace  llvm::AMDGPU::MTBUFFormat
 
namespace  llvm::AMDGPU::SendMsg
 

Macros

#define GET_MIMGBaseOpcode_DECL
 
#define GET_MIMGDim_DECL
 
#define GET_MIMGEncoding_DECL
 
#define GET_MIMGLZMapping_DECL
 
#define GET_MIMGMIPMapping_DECL
 
#define GET_MIMGBiASMapping_DECL
 
#define GET_MAIInstInfoTable_DECL
 

Typedefs

template<unsigned Bit, unsigned D = 0>
using llvm::AMDGPU::EncodingBit = EncodingField< Bit, Bit, D >
 
using llvm::AMDGPU::Hwreg::HwregId = EncodingField< 5, 0 >
 
using llvm::AMDGPU::Hwreg::HwregOffset = EncodingField< 10, 6 >
 
using llvm::AMDGPU::Hwreg::HwregEncoding = EncodingFields< HwregId, HwregOffset, HwregSize >
 

Enumerations

enum  { llvm::AMDGPU::AMDHSA_COV4 = 4 , llvm::AMDGPU::AMDHSA_COV5 = 5 , llvm::AMDGPU::AMDHSA_COV6 = 6 }
 
enum  { llvm::AMDGPU::IsaInfo::FIXED_NUM_SGPRS_FOR_INIT_BUG = 96 , llvm::AMDGPU::IsaInfo::TRAP_NUM_SGPRS = 16 }
 
enum class  llvm::AMDGPU::IsaInfo::TargetIDSetting { llvm::AMDGPU::IsaInfo::Unsupported , llvm::AMDGPU::IsaInfo::Any , llvm::AMDGPU::IsaInfo::Off , llvm::AMDGPU::IsaInfo::On }
 
enum  llvm::AMDGPU::VOPD::Component : unsigned {
  llvm::AMDGPU::VOPD::DST = 0 , llvm::AMDGPU::VOPD::SRC0 , llvm::AMDGPU::VOPD::SRC1 , llvm::AMDGPU::VOPD::SRC2 ,
  llvm::AMDGPU::VOPD::DST_NUM = 1 , llvm::AMDGPU::VOPD::MAX_SRC_NUM = 3 , llvm::AMDGPU::VOPD::MAX_OPR_NUM = DST_NUM + MAX_SRC_NUM
}
 
enum  llvm::AMDGPU::VOPD::ComponentIndex : unsigned { llvm::AMDGPU::VOPD::X = 0 , llvm::AMDGPU::VOPD::Y = 1 }
 
enum  llvm::AMDGPU::VOPD::ComponentKind : unsigned { llvm::AMDGPU::VOPD::SINGLE = 0 , llvm::AMDGPU::VOPD::COMPONENT_X , llvm::AMDGPU::VOPD::COMPONENT_Y , llvm::AMDGPU::VOPD::MAX = COMPONENT_Y }
 

Functions

bool llvm::AMDGPU::isHsaAbi (const MCSubtargetInfo &STI)
 
unsigned llvm::AMDGPU::getAMDHSACodeObjectVersion (const Module &M)
 
unsigned llvm::AMDGPU::getAMDHSACodeObjectVersion (unsigned ABIVersion)
 
unsigned llvm::AMDGPU::getDefaultAMDHSACodeObjectVersion ()
 
uint8_t llvm::AMDGPU::getELFABIVersion (const Triple &T, unsigned CodeObjectVersion)
 
unsigned llvm::AMDGPU::getMultigridSyncArgImplicitArgPosition (unsigned CodeObjectVersion)
 
unsigned llvm::AMDGPU::getHostcallImplicitArgPosition (unsigned CodeObjectVersion)
 
unsigned llvm::AMDGPU::getDefaultQueueImplicitArgPosition (unsigned CodeObjectVersion)
 
unsigned llvm::AMDGPU::getCompletionActionImplicitArgPosition (unsigned CodeObjectVersion)
 
unsigned llvm::AMDGPU::IsaInfo::getWavefrontSize (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getLocalMemorySize (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getAddressableLocalMemorySize (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getEUsPerCU (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getMaxWorkGroupsPerCU (const MCSubtargetInfo *STI, unsigned FlatWorkGroupSize)
 
unsigned llvm::AMDGPU::IsaInfo::getMinWavesPerEU (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getMaxWavesPerEU (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getWavesPerEUForWorkGroup (const MCSubtargetInfo *STI, unsigned FlatWorkGroupSize)
 
unsigned llvm::AMDGPU::IsaInfo::getMinFlatWorkGroupSize (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getMaxFlatWorkGroupSize (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getWavesPerWorkGroup (const MCSubtargetInfo *STI, unsigned FlatWorkGroupSize)
 
unsigned llvm::AMDGPU::IsaInfo::getSGPRAllocGranule (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getSGPREncodingGranule (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getTotalNumSGPRs (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getAddressableNumSGPRs (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getMinNumSGPRs (const MCSubtargetInfo *STI, unsigned WavesPerEU)
 
unsigned llvm::AMDGPU::IsaInfo::getMaxNumSGPRs (const MCSubtargetInfo *STI, unsigned WavesPerEU, bool Addressable)
 
unsigned llvm::AMDGPU::IsaInfo::getNumExtraSGPRs (const MCSubtargetInfo *STI, bool VCCUsed, bool FlatScrUsed, bool XNACKUsed)
 
unsigned llvm::AMDGPU::IsaInfo::getNumExtraSGPRs (const MCSubtargetInfo *STI, bool VCCUsed, bool FlatScrUsed)
 
unsigned llvm::AMDGPU::IsaInfo::getNumSGPRBlocks (const MCSubtargetInfo *STI, unsigned NumSGPRs)
 
unsigned llvm::AMDGPU::IsaInfo::getVGPRAllocGranule (const MCSubtargetInfo *STI, std::optional< bool > EnableWavefrontSize32)
 
unsigned llvm::AMDGPU::IsaInfo::getVGPREncodingGranule (const MCSubtargetInfo *STI, std::optional< bool > EnableWavefrontSize32)
 
unsigned llvm::AMDGPU::IsaInfo::getTotalNumVGPRs (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getAddressableNumArchVGPRs (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getAddressableNumVGPRs (const MCSubtargetInfo *STI)
 
unsigned llvm::AMDGPU::IsaInfo::getMinNumVGPRs (const MCSubtargetInfo *STI, unsigned WavesPerEU)
 
unsigned llvm::AMDGPU::IsaInfo::getMaxNumVGPRs (const MCSubtargetInfo *STI, unsigned WavesPerEU)
 
unsigned llvm::AMDGPU::IsaInfo::getNumWavesPerEUWithNumVGPRs (const MCSubtargetInfo *STI, unsigned NumVGPRs)
 
unsigned llvm::AMDGPU::IsaInfo::getNumWavesPerEUWithNumVGPRs (unsigned NumVGPRs, unsigned Granule, unsigned MaxWaves, unsigned TotalNumVGPRs)
 
unsigned llvm::AMDGPU::IsaInfo::getOccupancyWithNumSGPRs (unsigned SGPRs, unsigned MaxWaves, AMDGPUSubtarget::Generation Gen)
 
unsigned llvm::AMDGPU::IsaInfo::getEncodedNumVGPRBlocks (const MCSubtargetInfo *STI, unsigned NumVGPRs, std::optional< bool > EnableWavefrontSize32)
 
unsigned llvm::AMDGPU::IsaInfo::getAllocatedNumVGPRBlocks (const MCSubtargetInfo *STI, unsigned NumVGPRs, std::optional< bool > EnableWavefrontSize32)
 
LLVM_READONLY int16_t llvm::AMDGPU::getNamedOperandIdx (uint16_t Opcode, uint16_t NamedIdx)
 
LLVM_READONLY bool llvm::AMDGPU::hasNamedOperand (uint64_t Opcode, uint64_t NamedIdx)
 
LLVM_READONLY int llvm::AMDGPU::getSOPPWithRelaxation (uint16_t Opcode)
 
const MIMGBaseOpcodeInfo * llvm::AMDGPU::getMIMGBaseOpcode (unsigned Opc)
 
LLVM_READONLY const MIMGBaseOpcodeInfo * llvm::AMDGPU::getMIMGBaseOpcodeInfo (unsigned BaseOpcode)
 
LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfo (unsigned DimEnum)
 
LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfoByEncoding (uint8_t DimEnc)
 
LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfoByAsmSuffix (StringRef AsmSuffix)
 
LLVM_READONLY const MIMGLZMappingInfo * llvm::AMDGPU::getMIMGLZMappingInfo (unsigned L)
 
LLVM_READONLY const MIMGMIPMappingInfo * llvm::AMDGPU::getMIMGMIPMappingInfo (unsigned MIP)
 
LLVM_READONLY const MIMGBiasMappingInfo * llvm::AMDGPU::getMIMGBiasMappingInfo (unsigned Bias)
 
LLVM_READONLY const MIMGOffsetMappingInfo * llvm::AMDGPU::getMIMGOffsetMappingInfo (unsigned Offset)
 
LLVM_READONLY const MIMGG16MappingInfo * llvm::AMDGPU::getMIMGG16MappingInfo (unsigned G)
 
int llvm::AMDGPU::getMIMGOpcode (unsigned BaseOpcode, unsigned MIMGEncoding, unsigned VDataDwords, unsigned VAddrDwords)
 
int llvm::AMDGPU::getMaskedMIMGOp (unsigned Opc, unsigned NewChannels)
 
unsigned llvm::AMDGPU::getAddrSizeMIMGOp (const MIMGBaseOpcodeInfo *BaseOpcode, const MIMGDimInfo *Dim, bool IsA16, bool IsG16Supported)
 
LLVM_READONLY const MIMGInfo * llvm::AMDGPU::getMIMGInfo (unsigned Opc)
 
int llvm::AMDGPU::getMTBUFBaseOpcode (unsigned Opc)
 
int llvm::AMDGPU::getMTBUFOpcode (unsigned BaseOpc, unsigned Elements)
 
int llvm::AMDGPU::getMTBUFElements (unsigned Opc)
 
bool llvm::AMDGPU::getMTBUFHasVAddr (unsigned Opc)
 
bool llvm::AMDGPU::getMTBUFHasSrsrc (unsigned Opc)
 
bool llvm::AMDGPU::getMTBUFHasSoffset (unsigned Opc)
 
int llvm::AMDGPU::getMUBUFBaseOpcode (unsigned Opc)
 
int llvm::AMDGPU::getMUBUFOpcode (unsigned BaseOpc, unsigned Elements)
 
int llvm::AMDGPU::getMUBUFElements (unsigned Opc)
 
bool llvm::AMDGPU::getMUBUFHasVAddr (unsigned Opc)
 
bool llvm::AMDGPU::getMUBUFHasSrsrc (unsigned Opc)
 
bool llvm::AMDGPU::getMUBUFHasSoffset (unsigned Opc)
 
bool llvm::AMDGPU::getMUBUFIsBufferInv (unsigned Opc)
 
bool llvm::AMDGPU::getMUBUFTfe (unsigned Opc)
 
bool llvm::AMDGPU::getSMEMIsBuffer (unsigned Opc)
 
bool llvm::AMDGPU::getVOP1IsSingle (unsigned Opc)
 
bool llvm::AMDGPU::getVOP2IsSingle (unsigned Opc)
 
bool llvm::AMDGPU::getVOP3IsSingle (unsigned Opc)
 
bool llvm::AMDGPU::isVOPC64DPP (unsigned Opc)
 
bool llvm::AMDGPU::isVOPCAsmOnly (unsigned Opc)
 
bool llvm::AMDGPU::getMAIIsDGEMM (unsigned Opc)
 Returns true if MAI operation is a double precision GEMM.
 
bool llvm::AMDGPU::getMAIIsGFX940XDL (unsigned Opc)
 
unsigned llvm::AMDGPU::getVOPDEncodingFamily (const MCSubtargetInfo &ST)
 
CanBeVOPD llvm::AMDGPU::getCanBeVOPD (unsigned Opc)
 
const GcnBufferFormatInfo * llvm::AMDGPU::getGcnBufferFormatInfo (uint8_t BitsPerComp, uint8_t NumComponents, uint8_t NumFormat, const MCSubtargetInfo &STI)
 
const GcnBufferFormatInfo * llvm::AMDGPU::getGcnBufferFormatInfo (uint8_t Format, const MCSubtargetInfo &STI)
 
int llvm::AMDGPU::getMCOpcode (uint16_t Opcode, unsigned Gen)
 
unsigned llvm::AMDGPU::getVOPDOpcode (unsigned Opc)
 
int llvm::AMDGPU::getVOPDFull (unsigned OpX, unsigned OpY, unsigned EncodingFamily)
 
bool llvm::AMDGPU::isVOPD (unsigned Opc)
 
bool llvm::AMDGPU::isMAC (unsigned Opc)
 
bool llvm::AMDGPU::isPermlane16 (unsigned Opc)
 
bool llvm::AMDGPU::isGenericAtomic (unsigned Opc)
 
bool llvm::AMDGPU::isCvt_F32_Fp8_Bf8_e64 (unsigned Opc)
 
std::pair< unsigned, unsignedllvm::AMDGPU::getVOPDComponents (unsigned VOPDOpcode)
 
VOPD::InstInfo llvm::AMDGPU::getVOPDInstInfo (const MCInstrDesc &OpX, const MCInstrDesc &OpY)
 
VOPD::InstInfo llvm::AMDGPU::getVOPDInstInfo (unsigned VOPDOpcode, const MCInstrInfo *InstrInfo)
 
bool llvm::AMDGPU::isTrue16Inst (unsigned Opc)
 
bool llvm::AMDGPU::isInvalidSingleUseConsumerInst (unsigned Opc)
 
bool llvm::AMDGPU::isInvalidSingleUseProducerInst (unsigned Opc)
 
unsigned llvm::AMDGPU::mapWMMA2AddrTo3AddrOpcode (unsigned Opc)
 
unsigned llvm::AMDGPU::mapWMMA3AddrTo2AddrOpcode (unsigned Opc)
 
void llvm::AMDGPU::initDefaultAMDKernelCodeT (AMDGPUMCKernelCodeT &KernelCode, const MCSubtargetInfo *STI)
 
bool llvm::AMDGPU::isGroupSegment (const GlobalValue *GV)
 
bool llvm::AMDGPU::isGlobalSegment (const GlobalValue *GV)
 
bool llvm::AMDGPU::isReadOnlySegment (const GlobalValue *GV)
 
bool llvm::AMDGPU::shouldEmitConstantsToTextSection (const Triple &TT)
 
int llvm::AMDGPU::getIntegerAttribute (const Function &F, StringRef Name, int Default)
 
std::pair< unsigned, unsignedllvm::AMDGPU::getIntegerPairAttribute (const Function &F, StringRef Name, std::pair< unsigned, unsigned > Default, bool OnlyFirstRequired)
 
SmallVector< unsignedllvm::AMDGPU::getIntegerVecAttribute (const Function &F, StringRef Name, unsigned Size)
 
unsigned llvm::AMDGPU::getVmcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getExpcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getLgkmcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getWaitcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::decodeVmcnt (const IsaVersion &Version, unsigned Waitcnt)
 
unsigned llvm::AMDGPU::decodeExpcnt (const IsaVersion &Version, unsigned Waitcnt)
 
unsigned llvm::AMDGPU::decodeLgkmcnt (const IsaVersion &Version, unsigned Waitcnt)
 
void llvm::AMDGPU::decodeWaitcnt (const IsaVersion &Version, unsigned Waitcnt, unsigned &Vmcnt, unsigned &Expcnt, unsigned &Lgkmcnt)
 Decodes Vmcnt, Expcnt and Lgkmcnt from given Waitcnt for given isa Version, and writes decoded values into Vmcnt, Expcnt and Lgkmcnt respectively.
 
Waitcnt llvm::AMDGPU::decodeWaitcnt (const IsaVersion &Version, unsigned Encoded)
 
unsigned llvm::AMDGPU::encodeVmcnt (const IsaVersion &Version, unsigned Waitcnt, unsigned Vmcnt)
 
unsigned llvm::AMDGPU::encodeExpcnt (const IsaVersion &Version, unsigned Waitcnt, unsigned Expcnt)
 
unsigned llvm::AMDGPU::encodeLgkmcnt (const IsaVersion &Version, unsigned Waitcnt, unsigned Lgkmcnt)
 
unsigned llvm::AMDGPU::encodeWaitcnt (const IsaVersion &Version, unsigned Vmcnt, unsigned Expcnt, unsigned Lgkmcnt)
 Encodes Vmcnt, Expcnt and Lgkmcnt into Waitcnt for given isa Version.
 
unsigned llvm::AMDGPU::encodeWaitcnt (const IsaVersion &Version, const Waitcnt &Decoded)
 
unsigned llvm::AMDGPU::getLoadcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getSamplecntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getBvhcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getDscntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getKmcntBitMask (const IsaVersion &Version)
 
unsigned llvm::AMDGPU::getStorecntBitMask (const IsaVersion &Version)
 
Waitcnt llvm::AMDGPU::decodeLoadcntDscnt (const IsaVersion &Version, unsigned LoadcntDscnt)
 
Waitcnt llvm::AMDGPU::decodeStorecntDscnt (const IsaVersion &Version, unsigned StorecntDscnt)
 
unsigned llvm::AMDGPU::encodeLoadcntDscnt (const IsaVersion &Version, const Waitcnt &Decoded)
 
unsigned llvm::AMDGPU::encodeStorecntDscnt (const IsaVersion &Version, const Waitcnt &Decoded)
 
int llvm::AMDGPU::DepCtr::getDefaultDepCtrEncoding (const MCSubtargetInfo &STI)
 
int llvm::AMDGPU::DepCtr::encodeDepCtr (const StringRef Name, int64_t Val, unsigned &UsedOprMask, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::DepCtr::isSymbolicDepCtrEncoding (unsigned Code, bool &HasNonDefaultVal, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::DepCtr::decodeDepCtr (unsigned Code, int &Id, StringRef &Name, unsigned &Val, bool &IsDefault, const MCSubtargetInfo &STI)
 
unsigned llvm::AMDGPU::DepCtr::decodeFieldVaVdst (unsigned Encoded)
 
unsigned llvm::AMDGPU::DepCtr::decodeFieldVmVsrc (unsigned Encoded)
 
unsigned llvm::AMDGPU::DepCtr::decodeFieldSaSdst (unsigned Encoded)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldVmVsrc (unsigned VmVsrc)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldVmVsrc (unsigned Encoded, unsigned VmVsrc)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldVaVdst (unsigned VaVdst)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldVaVdst (unsigned Encoded, unsigned VaVdst)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldSaSdst (unsigned SaSdst)
 
unsigned llvm::AMDGPU::DepCtr::encodeFieldSaSdst (unsigned Encoded, unsigned SaSdst)
 
bool llvm::AMDGPU::Exp::getTgtName (unsigned Id, StringRef &Name, int &Index)
 
unsigned llvm::AMDGPU::Exp::getTgtId (const StringRef Name)
 
bool llvm::AMDGPU::Exp::isSupportedTgtId (unsigned Id, const MCSubtargetInfo &STI)
 
int64_t llvm::AMDGPU::MTBUFFormat::encodeDfmtNfmt (unsigned Dfmt, unsigned Nfmt)
 
void llvm::AMDGPU::MTBUFFormat::decodeDfmtNfmt (unsigned Format, unsigned &Dfmt, unsigned &Nfmt)
 
int64_t llvm::AMDGPU::MTBUFFormat::getDfmt (const StringRef Name)
 
StringRef llvm::AMDGPU::MTBUFFormat::getDfmtName (unsigned Id)
 
int64_t llvm::AMDGPU::MTBUFFormat::getNfmt (const StringRef Name, const MCSubtargetInfo &STI)
 
StringRef llvm::AMDGPU::MTBUFFormat::getNfmtName (unsigned Id, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::MTBUFFormat::isValidDfmtNfmt (unsigned Id, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::MTBUFFormat::isValidNfmt (unsigned Id, const MCSubtargetInfo &STI)
 
int64_t llvm::AMDGPU::MTBUFFormat::getUnifiedFormat (const StringRef Name, const MCSubtargetInfo &STI)
 
StringRef llvm::AMDGPU::MTBUFFormat::getUnifiedFormatName (unsigned Id, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::MTBUFFormat::isValidUnifiedFormat (unsigned Id, const MCSubtargetInfo &STI)
 
int64_t llvm::AMDGPU::MTBUFFormat::convertDfmtNfmt2Ufmt (unsigned Dfmt, unsigned Nfmt, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::MTBUFFormat::isValidFormatEncoding (unsigned Val, const MCSubtargetInfo &STI)
 
unsigned llvm::AMDGPU::MTBUFFormat::getDefaultFormatEncoding (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::SendMsg::isValidMsgId (int64_t MsgId, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::SendMsg::isValidMsgOp (int64_t MsgId, int64_t OpId, const MCSubtargetInfo &STI, bool Strict)
 
bool llvm::AMDGPU::SendMsg::isValidMsgStream (int64_t MsgId, int64_t OpId, int64_t StreamId, const MCSubtargetInfo &STI, bool Strict)
 
bool llvm::AMDGPU::SendMsg::msgRequiresOp (int64_t MsgId, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::SendMsg::msgSupportsStream (int64_t MsgId, int64_t OpId, const MCSubtargetInfo &STI)
 
void llvm::AMDGPU::SendMsg::decodeMsg (unsigned Val, uint16_t &MsgId, uint16_t &OpId, uint16_t &StreamId, const MCSubtargetInfo &STI)
 
uint64_t llvm::AMDGPU::SendMsg::encodeMsg (uint64_t MsgId, uint64_t OpId, uint64_t StreamId)
 
unsigned llvm::AMDGPU::getInitialPSInputAddr (const Function &F)
 
bool llvm::AMDGPU::getHasColorExport (const Function &F)
 
bool llvm::AMDGPU::getHasDepthExport (const Function &F)
 
bool llvm::AMDGPU::isShader (CallingConv::ID cc)
 
bool llvm::AMDGPU::isGraphics (CallingConv::ID cc)
 
bool llvm::AMDGPU::isCompute (CallingConv::ID cc)
 
bool llvm::AMDGPU::isEntryFunctionCC (CallingConv::ID CC)
 
bool llvm::AMDGPU::isModuleEntryFunctionCC (CallingConv::ID CC)
 
bool llvm::AMDGPU::isChainCC (CallingConv::ID CC)
 
bool llvm::AMDGPU::isKernelCC (const Function *Func)
 
LLVM_READNONE bool llvm::AMDGPU::isKernel (CallingConv::ID CC)
 
bool llvm::AMDGPU::hasXNACK (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasSRAMECC (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasMIMG_R128 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasA16 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasG16 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasPackedD16 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasGDS (const MCSubtargetInfo &STI)
 
unsigned llvm::AMDGPU::getNSAMaxSize (const MCSubtargetInfo &STI, bool HasSampler)
 
unsigned llvm::AMDGPU::getMaxNumUserSGPRs (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isSI (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isCI (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isVI (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX9 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX9_GFX10 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX9_GFX10_GFX11 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX8_GFX9_GFX10 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX8Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX9Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isNotGFX9Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10_GFX11 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isNotGFX10Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10Before1030 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX11 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX11Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX12 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX12Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isNotGFX12Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isNotGFX11Plus (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGCN3Encoding (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10_AEncoding (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10_BEncoding (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasGFX10_3Insts (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX10_3_GFX11 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX90A (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::isGFX940 (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasArchitectedFlatScratch (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasMAIInsts (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasVOPD (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasDPPSrc1SGPR (const MCSubtargetInfo &STI)
 
int32_t llvm::AMDGPU::getTotalNumVGPRs (bool has90AInsts, int32_t ArgNumAGPR, int32_t ArgNumVGPR)
 
unsigned llvm::AMDGPU::hasKernargPreload (const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::hasSMRDSignedImmOffset (const MCSubtargetInfo &ST)
 
bool llvm::AMDGPU::isSGPR (unsigned Reg, const MCRegisterInfo *TRI)
 Is Reg - scalar register.
 
bool llvm::AMDGPU::isHi16Reg (MCRegister Reg, const MCRegisterInfo &MRI)
 
unsigned llvm::AMDGPU::getMCReg (unsigned Reg, const MCSubtargetInfo &STI)
 If Reg is a pseudo reg, return the correct hardware register given STI otherwise return Reg.
 
unsigned llvm::AMDGPU::mc2PseudoReg (unsigned Reg)
 Convert hardware register Reg to a pseudo register.
 
bool llvm::AMDGPU::isInlineValue (unsigned Reg)
 
bool llvm::AMDGPU::isSISrcOperand (const MCInstrDesc &Desc, unsigned OpNo)
 Is this an AMDGPU specific source operand? These include registers, inline constants, literals and mandatory literals (KImm).
 
bool llvm::AMDGPU::isKImmOperand (const MCInstrDesc &Desc, unsigned OpNo)
 Is this a KImm operand?
 
bool llvm::AMDGPU::isSISrcFPOperand (const MCInstrDesc &Desc, unsigned OpNo)
 Is this floating-point operand?
 
bool llvm::AMDGPU::isSISrcInlinableOperand (const MCInstrDesc &Desc, unsigned OpNo)
 Does this operand support only inlinable literals?
 
unsigned llvm::AMDGPU::getRegBitWidth (unsigned RCID)
 Get the size in bits of a register from the register class RC.
 
unsigned llvm::AMDGPU::getRegBitWidth (const MCRegisterClass &RC)
 Get the size in bits of a register from the register class RC.
 
unsigned llvm::AMDGPU::getRegOperandSize (const MCRegisterInfo *MRI, const MCInstrDesc &Desc, unsigned OpNo)
 Get size of register operand.
 
LLVM_READNONE unsigned llvm::AMDGPU::getOperandSize (const MCOperandInfo &OpInfo)
 
LLVM_READNONE unsigned llvm::AMDGPU::getOperandSize (const MCInstrDesc &Desc, unsigned OpNo)
 
LLVM_READNONE bool llvm::AMDGPU::isInlinableIntLiteral (int64_t Literal)
 Is this literal inlinable, and not one of the values intended for floating point values.
 
bool llvm::AMDGPU::isInlinableLiteral64 (int64_t Literal, bool HasInv2Pi)
 Is this literal inlinable.
 
bool llvm::AMDGPU::isInlinableLiteral32 (int32_t Literal, bool HasInv2Pi)
 
bool llvm::AMDGPU::isInlinableLiteralBF16 (int16_t Literal, bool HasInv2Pi)
 
bool llvm::AMDGPU::isInlinableLiteralFP16 (int16_t Literal, bool HasInv2Pi)
 
bool llvm::AMDGPU::isInlinableLiteralI16 (int32_t Literal, bool HasInv2Pi)
 
std::optional< unsignedllvm::AMDGPU::getInlineEncodingV2I16 (uint32_t Literal)
 
std::optional< unsignedllvm::AMDGPU::getInlineEncodingV2BF16 (uint32_t Literal)
 
std::optional< unsignedllvm::AMDGPU::getInlineEncodingV2F16 (uint32_t Literal)
 
bool llvm::AMDGPU::isInlinableLiteralV216 (uint32_t Literal, uint8_t OpType)
 
bool llvm::AMDGPU::isInlinableLiteralV2I16 (uint32_t Literal)
 
bool llvm::AMDGPU::isInlinableLiteralV2BF16 (uint32_t Literal)
 
bool llvm::AMDGPU::isInlinableLiteralV2F16 (uint32_t Literal)
 
bool llvm::AMDGPU::isValid32BitLiteral (uint64_t Val, bool IsFP64)
 
bool llvm::AMDGPU::isArgPassedInSGPR (const Argument *A)
 
bool llvm::AMDGPU::isArgPassedInSGPR (const CallBase *CB, unsigned ArgNo)
 
bool llvm::AMDGPU::isLegalSMRDEncodedUnsignedOffset (const MCSubtargetInfo &ST, int64_t EncodedOffset)
 
bool llvm::AMDGPU::isLegalSMRDEncodedSignedOffset (const MCSubtargetInfo &ST, int64_t EncodedOffset, bool IsBuffer)
 
uint64_t llvm::AMDGPU::convertSMRDOffsetUnits (const MCSubtargetInfo &ST, uint64_t ByteOffset)
 Convert ByteOffset to dwords if the subtarget uses dword SMRD immediate offsets.
 
std::optional< int64_t > llvm::AMDGPU::getSMRDEncodedOffset (const MCSubtargetInfo &ST, int64_t ByteOffset, bool IsBuffer, bool HasSOffset)
 
std::optional< int64_t > llvm::AMDGPU::getSMRDEncodedLiteralOffset32 (const MCSubtargetInfo &ST, int64_t ByteOffset)
 
unsigned llvm::AMDGPU::getNumFlatOffsetBits (const MCSubtargetInfo &ST)
 For pre-GFX12 FLAT instructions the offset must be positive; MSB is ignored and forced to zero.
 
bool llvm::AMDGPU::isLegalSMRDImmOffset (const MCSubtargetInfo &ST, int64_t ByteOffset)
 
LLVM_READNONE bool llvm::AMDGPU::isLegalDPALU_DPPControl (unsigned DC)
 
bool llvm::AMDGPU::hasAny64BitVGPROperands (const MCInstrDesc &OpDesc)
 
bool llvm::AMDGPU::isDPALU_DPP (const MCInstrDesc &OpDesc)
 
bool llvm::AMDGPU::isIntrinsicSourceOfDivergence (unsigned IntrID)
 
bool llvm::AMDGPU::isIntrinsicAlwaysUniform (unsigned IntrID)
 
unsigned llvm::AMDGPU::getLdsDwGranularity (const MCSubtargetInfo &ST)
 
raw_ostream & llvm::operator<< (raw_ostream &OS, const AMDGPU::IsaInfo::TargetIDSetting S)
 

Variables

static constexpr unsigned llvm::AMDGPU::GenericVersion::GFX9 = 1
 
static constexpr unsigned llvm::AMDGPU::GenericVersion::GFX10_1 = 1
 
static constexpr unsigned llvm::AMDGPU::GenericVersion::GFX10_3 = 1
 
static constexpr unsigned llvm::AMDGPU::GenericVersion::GFX11 = 1
 
static constexpr unsigned llvm::AMDGPU::GenericVersion::GFX12 = 1
 
constexpr unsigned llvm::AMDGPU::VOPD::VOPD_VGPR_BANK_MASKS [] = {1, 3, 3, 1}
 
constexpr unsigned llvm::AMDGPU::VOPD::COMPONENTS [] = {ComponentIndex::X, ComponentIndex::Y}
 
constexpr unsigned llvm::AMDGPU::VOPD::COMPONENTS_NUM = 2
 

Macro Definition Documentation

◆ GET_MAIInstInfoTable_DECL

#define GET_MAIInstInfoTable_DECL

Definition at line 104 of file AMDGPUBaseInfo.h.

◆ GET_MIMGBaseOpcode_DECL

#define GET_MIMGBaseOpcode_DECL

Definition at line 98 of file AMDGPUBaseInfo.h.

◆ GET_MIMGBiASMapping_DECL

#define GET_MIMGBiASMapping_DECL

Definition at line 103 of file AMDGPUBaseInfo.h.

◆ GET_MIMGDim_DECL

#define GET_MIMGDim_DECL

Definition at line 99 of file AMDGPUBaseInfo.h.

◆ GET_MIMGEncoding_DECL

#define GET_MIMGEncoding_DECL

Definition at line 100 of file AMDGPUBaseInfo.h.

◆ GET_MIMGLZMapping_DECL

#define GET_MIMGLZMapping_DECL

Definition at line 101 of file AMDGPUBaseInfo.h.

◆ GET_MIMGMIPMapping_DECL

#define GET_MIMGMIPMapping_DECL

Definition at line 102 of file AMDGPUBaseInfo.h.