LLVM 18.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
AMDGPUBaseInfo.h File Reference
#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::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...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::amdhsa
 
namespace  llvm::AMDGPU
 
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
 

Enumerations

enum  { llvm::AMDGPU::AMDHSA_COV4 = 4 , llvm::AMDGPU::AMDHSA_COV5 = 5 }
 
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)
 
std::optional< uint8_t > llvm::AMDGPU::getHsaAbiVersion (const MCSubtargetInfo *STI)
 
bool llvm::AMDGPU::isHsaAbiVersion4 (const MCSubtargetInfo *STI)
 
bool llvm::AMDGPU::isHsaAbiVersion5 (const MCSubtargetInfo *STI)
 
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::getAmdhsaCodeObjectVersion ()
 
unsigned llvm::AMDGPU::getCodeObjectVersion (const Module &M)
 
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::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::getNumVGPRBlocks (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::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::getMAIIsDGEMM (unsigned Opc)
 Returns true if MAI operation is a double precision GEMM.
 
bool llvm::AMDGPU::getMAIIsGFX940XDL (unsigned Opc)
 
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)
 
bool llvm::AMDGPU::isVOPD (unsigned Opc)
 
bool llvm::AMDGPU::isMAC (unsigned Opc)
 
bool llvm::AMDGPU::isPermlane16 (unsigned Opc)
 
bool llvm::AMDGPU::isGenericAtomic (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)
 
unsigned llvm::AMDGPU::mapWMMA2AddrTo3AddrOpcode (unsigned Opc)
 
unsigned llvm::AMDGPU::mapWMMA3AddrTo2AddrOpcode (unsigned Opc)
 
void llvm::AMDGPU::initDefaultAMDKernelCodeT (amd_kernel_code_t &Header, const MCSubtargetInfo *STI)
 
amdhsa::kernel_descriptor_t llvm::AMDGPU::getDefaultAmdhsaKernelDescriptor (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)
 
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)
 
int64_t llvm::AMDGPU::Hwreg::getHwregId (const StringRef Name, const MCSubtargetInfo &STI)
 
bool llvm::AMDGPU::Hwreg::isValidHwreg (int64_t Id)
 
bool llvm::AMDGPU::Hwreg::isValidHwregOffset (int64_t Offset)
 
bool llvm::AMDGPU::Hwreg::isValidHwregWidth (int64_t Width)
 
uint64_t llvm::AMDGPU::Hwreg::encodeHwreg (uint64_t Id, uint64_t Offset, uint64_t Width)
 
StringRef llvm::AMDGPU::Hwreg::getHwreg (unsigned Id, const MCSubtargetInfo &STI)
 
void llvm::AMDGPU::Hwreg::decodeHwreg (unsigned Val, unsigned &Id, unsigned &Offset, unsigned &Width)
 
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)
 
int64_t llvm::AMDGPU::SendMsg::getMsgId (const StringRef Name, const MCSubtargetInfo &STI)
 
int64_t llvm::AMDGPU::SendMsg::getMsgOpId (int64_t MsgId, const StringRef Name)
 
StringRef llvm::AMDGPU::SendMsg::getMsgName (int64_t MsgId, const MCSubtargetInfo &STI)
 
StringRef llvm::AMDGPU::SendMsg::getMsgOpName (int64_t MsgId, int64_t OpId, 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::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::isSGPR (unsigned Reg, const MCRegisterInfo *TRI)
 Is Reg - scalar register.
 
bool llvm::AMDGPU::isHi (unsigned 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::isInlinableLiteral16 (int16_t Literal, bool HasInv2Pi)
 
bool llvm::AMDGPU::isInlinableLiteralV216 (int32_t Literal, bool HasInv2Pi)
 
bool llvm::AMDGPU::isInlinableIntLiteralV216 (int32_t Literal)
 
bool llvm::AMDGPU::isInlinableLiteralV216 (int32_t Literal, bool HasInv2Pi, uint8_t OpType)
 
bool llvm::AMDGPU::isFoldableLiteralV216 (int32_t Literal, bool HasInv2Pi)
 
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)
 
std::optional< int64_t > llvm::AMDGPU::getSMRDEncodedLiteralOffset32 (const MCSubtargetInfo &ST, int64_t ByteOffset)
 
unsigned llvm::AMDGPU::getNumFlatOffsetBits (const MCSubtargetInfo &ST)
 For FLAT segment 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)
 
raw_ostream & llvm::operator<< (raw_ostream &OS, const AMDGPU::IsaInfo::TargetIDSetting S)
 

Variables

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 93 of file AMDGPUBaseInfo.h.

◆ GET_MIMGBaseOpcode_DECL

#define GET_MIMGBaseOpcode_DECL

Definition at line 87 of file AMDGPUBaseInfo.h.

◆ GET_MIMGBiASMapping_DECL

#define GET_MIMGBiASMapping_DECL

Definition at line 92 of file AMDGPUBaseInfo.h.

◆ GET_MIMGDim_DECL

#define GET_MIMGDim_DECL

Definition at line 88 of file AMDGPUBaseInfo.h.

◆ GET_MIMGEncoding_DECL

#define GET_MIMGEncoding_DECL

Definition at line 89 of file AMDGPUBaseInfo.h.

◆ GET_MIMGLZMapping_DECL

#define GET_MIMGLZMapping_DECL

Definition at line 90 of file AMDGPUBaseInfo.h.

◆ GET_MIMGMIPMapping_DECL

#define GET_MIMGMIPMapping_DECL

Definition at line 91 of file AMDGPUBaseInfo.h.