LLVM
8.0.1
|
Namespaces | |
DPP | |
EncValues | |
HSAMD | |
Hwreg | |
IsaInfo | |
PALMD | |
SDWA | |
SendMsg | |
Swizzle | |
Classes | |
struct | D16ImageDimIntrinsic |
struct | ImageDimIntrinsicInfo |
struct | IsaVersion |
Instruction set architecture version. More... | |
struct | MIMGBaseOpcodeInfo |
struct | MIMGDimInfo |
struct | MIMGInfo |
struct | MIMGLZMappingInfo |
struct | MUBUFInfo |
struct | RsrcIntrinsic |
struct | Waitcnt |
Represents the counter values to wait for in an s_waitcnt instruction. More... | |
Variables | |
const uint64_t | RSRC_DATA_FORMAT = 0xf00000000000LL |
const uint64_t | RSRC_ELEMENT_SIZE_SHIFT = (32 + 19) |
const uint64_t | RSRC_INDEX_STRIDE_SHIFT = (32 + 21) |
const uint64_t | RSRC_TID_ENABLE = UINT64_C(1) << (32 + 23) |
Enumerator | |
---|---|
FEATURE_NONE | |
FEATURE_FMA | |
FEATURE_LDEXP | |
FEATURE_FP64 | |
FEATURE_FAST_FMA_F32 | |
FEATURE_FAST_DENORMAL_F32 |
Definition at line 140 of file TargetParser.h.
enum llvm::AMDGPU::Fixups |
Enumerator | |
---|---|
fixup_si_sopp_br | 16-bit PC relative fixup for SOPP branch instructions. |
LastTargetFixupKind | |
NumTargetFixupKinds |
Definition at line 17 of file AMDGPUFixupKinds.h.
enum llvm::AMDGPU::GPUKind : uint32_t |
GPU kinds supported by the AMDGPU target.
Definition at line 81 of file TargetParser.h.
Definition at line 114 of file SIDefines.h.
Enumerator | |
---|---|
TF_LONG_BRANCH_FORWARD | |
TF_LONG_BRANCH_BACKWARD |
Definition at line 1014 of file SIInstrInfo.h.
unsigned llvm::AMDGPU::decodeExpcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt | ||
) |
Waitcnt
for given isa Version
. Definition at line 553 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), decodeWaitcnt(), and encodeCnt().
unsigned llvm::AMDGPU::decodeLgkmcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt | ||
) |
Waitcnt
for given isa Version
. Definition at line 557 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), decodeWaitcnt(), and encodeCnt().
unsigned llvm::AMDGPU::decodeVmcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt | ||
) |
Waitcnt
for given isa Version
. Definition at line 541 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::IsaVersion::Major.
Referenced by llvm::AMDGPU::Waitcnt::combined(), decodeWaitcnt(), and encodeCnt().
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.
Vmcnt
, Expcnt
and Lgkmcnt
are decoded as follows: Vmcnt
= Waitcnt
[3:0] (pre-gfx9 only) Vmcnt
= Waitcnt
[3:0] | Waitcnt
[15:14] (gfx9+ only) Expcnt
= Waitcnt
[6:4] Lgkmcnt
= Waitcnt
[11:8]
Definition at line 561 of file AMDGPUBaseInfo.cpp.
References decodeExpcnt(), decodeLgkmcnt(), and decodeVmcnt().
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::AMDGPUInstPrinter::printWaitFlag(), and readsVCCZ().
Waitcnt llvm::AMDGPU::decodeWaitcnt | ( | const IsaVersion & | Version, |
unsigned | Encoded | ||
) |
Definition at line 568 of file AMDGPUBaseInfo.cpp.
References decodeExpcnt(), decodeLgkmcnt(), decodeVmcnt(), llvm::AMDGPU::Waitcnt::ExpCnt, llvm::AMDGPU::Waitcnt::LgkmCnt, and llvm::AMDGPU::Waitcnt::VmCnt.
unsigned llvm::AMDGPU::encodeExpcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt, | ||
unsigned | Expcnt | ||
) |
Waitcnt
with encoded Expcnt
for given isa Version
. Definition at line 587 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), encodeCnt(), and encodeWaitcnt().
unsigned llvm::AMDGPU::encodeLgkmcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt, | ||
unsigned | Lgkmcnt | ||
) |
Waitcnt
with encoded Lgkmcnt
for given isa Version
. Definition at line 592 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), encodeCnt(), and encodeWaitcnt().
unsigned llvm::AMDGPU::encodeVmcnt | ( | const IsaVersion & | Version, |
unsigned | Waitcnt, | ||
unsigned | Vmcnt | ||
) |
Waitcnt
with encoded Vmcnt
for given isa Version
. Definition at line 576 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::IsaVersion::Major.
Referenced by llvm::AMDGPU::Waitcnt::combined(), encodeCnt(), and encodeWaitcnt().
unsigned llvm::AMDGPU::encodeWaitcnt | ( | const IsaVersion & | Version, |
unsigned | Vmcnt, | ||
unsigned | Expcnt, | ||
unsigned | Lgkmcnt | ||
) |
Encodes Vmcnt
, Expcnt
and Lgkmcnt
into Waitcnt for given isa Version
.
Vmcnt
, Expcnt
and Lgkmcnt
are encoded as follows: Waitcnt[3:0] = Vmcnt
(pre-gfx9 only) Waitcnt[3:0] = Vmcnt
[3:0] (gfx9+ only) Waitcnt[6:4] = Expcnt
Waitcnt[11:8] = Lgkmcnt
Waitcnt[15:14] = Vmcnt
[5:4] (gfx9+ only)
Vmcnt
, Expcnt
and Lgkmcnt
for given isa Version
. Definition at line 597 of file AMDGPUBaseInfo.cpp.
References encodeExpcnt(), encodeLgkmcnt(), encodeVmcnt(), and getWaitcntBitMask().
Referenced by llvm::AMDGPU::Waitcnt::combined(), encodeWaitcnt(), and readsVCCZ().
unsigned llvm::AMDGPU::encodeWaitcnt | ( | const IsaVersion & | Version, |
const Waitcnt & | Decoded | ||
) |
Definition at line 606 of file AMDGPUBaseInfo.cpp.
References encodeWaitcnt(), llvm::AMDGPU::Waitcnt::ExpCnt, llvm::AMDGPU::Waitcnt::LgkmCnt, and llvm::AMDGPU::Waitcnt::VmCnt.
void llvm::AMDGPU::fillValidArchListAMDGCN | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 161 of file TargetParser.cpp.
References C, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
void llvm::AMDGPU::fillValidArchListR600 | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 167 of file TargetParser.cpp.
References C, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
LLVM_READONLY int llvm::AMDGPU::getAddr64Inst | ( | uint16_t | Opcode | ) |
Referenced by llvm::getRegSubRegPair(), and llvm::SIInstrInfo::legalizeOperands().
Definition at line 149 of file TargetParser.cpp.
References FEATURE_NONE.
Definition at line 155 of file TargetParser.cpp.
References FEATURE_NONE.
Definition at line 119 of file TargetParser.cpp.
Referenced by llvm::AMDGPUTargetStreamer::getArchNameFromElfMach().
Definition at line 125 of file TargetParser.cpp.
Referenced by llvm::AMDGPUTargetStreamer::getArchNameFromElfMach().
LLVM_READONLY int llvm::AMDGPU::getAtomicNoRetOp | ( | uint16_t | Opcode | ) |
LLVM_READONLY int llvm::AMDGPU::getAtomicRetOp | ( | uint16_t | Opcode | ) |
Referenced by llvm::getRegSubRegPair(), and isValidClauseInst().
LLVM_READONLY int llvm::AMDGPU::getBasicFromSDWAOp | ( | uint16_t | Opcode | ) |
Referenced by llvm::getRegSubRegPair(), and llvm::SIInstrInfo::verifyInstruction().
LLVM_READONLY int llvm::AMDGPU::getCommuteOrig | ( | uint16_t | Opcode | ) |
Referenced by llvm::SIInstrInfo::commuteOpcode(), and llvm::getRegSubRegPair().
LLVM_READONLY int llvm::AMDGPU::getCommuteRev | ( | uint16_t | Opcode | ) |
Referenced by llvm::SIInstrInfo::commuteOpcode(), and llvm::getRegSubRegPair().
amdhsa::kernel_descriptor_t llvm::AMDGPU::getDefaultAmdhsaKernelDescriptor | ( | ) |
Definition at line 440 of file AMDGPUBaseInfo.cpp.
References AMDHSA_BITS_SET, llvm::amdhsa::kernel_descriptor_t::compute_pgm_rsrc1, llvm::amdhsa::kernel_descriptor_t::compute_pgm_rsrc2, llvm::amdhsa::FLOAT_DENORM_MODE_FLUSH_NONE, and llvm::Intrinsic::memset.
Referenced by getSpecialRegForName().
LLVM_READONLY int llvm::AMDGPU::getDPPOp32 | ( | uint16_t | Opcode | ) |
Referenced by getDPPOp(), and llvm::getRegSubRegPair().
unsigned llvm::AMDGPU::getExpcntBitMask | ( | const IsaVersion & | Version | ) |
Version
. Definition at line 521 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::AMDGPUInstPrinter::printWaitFlag(), and readsVCCZ().
LLVM_READONLY int llvm::AMDGPU::getGlobalSaddrOp | ( | uint16_t | Opcode | ) |
Referenced by canMoveInstsAcrossMemOp(), fixupGlobalSaddr(), and llvm::getRegSubRegPair().
LLVM_READONLY int llvm::AMDGPU::getIfAddr64Inst | ( | uint16_t | Opcode | ) |
Check if Opcode
is an Addr64 opcode.
Opcode
if it is an Addr64 opcode, otherwise -1. Referenced by llvm::getRegSubRegPair(), and llvm::SIInstrInfo::legalizeOperands().
const ImageDimIntrinsicInfo* llvm::AMDGPU::getImageDimIntrinsicInfo | ( | unsigned | Intr | ) |
Definition at line 610 of file AMDGPUBaseInfo.cpp.
References getIntegerAttribute().
Referenced by llvm::AMDGPU::Waitcnt::combined(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
F's
Name
attribute.Default
if attribute is not present.Default
and emits error if requested value cannot be converted to integer. Definition at line 472 of file AMDGPUBaseInfo.cpp.
References llvm::LLVMContext::emitError(), llvm::StringRef::getAsInteger(), llvm::Function::getContext(), llvm::Function::getFnAttribute(), llvm::Attribute::getValueAsString(), and llvm::Attribute::isStringAttribute().
Referenced by llvm::AMDGPUSubtarget::getFlatWorkGroupSizes(), llvm::AMDGPUSubtarget::getImplicitArgNumBytes(), getInitialPSInputAddr(), llvm::GCNSubtarget::getMaxNumSGPRs(), and llvm::GCNSubtarget::getMaxNumVGPRs().
std::pair< int, int > llvm::AMDGPU::getIntegerPairAttribute | ( | const Function & | F, |
StringRef | Name, | ||
std::pair< int, int > | Default, | ||
bool | OnlyFirstRequired = false |
||
) |
F's
Name
attribute in "first[,second]" format ("second" is optional unless OnlyFirstRequired
is false).Default
if attribute is not present.Default
and emits error if one of the requested values cannot be converted to integer, or OnlyFirstRequired
is false and "second" value is not present. Definition at line 487 of file AMDGPUBaseInfo.cpp.
References llvm::LLVMContext::emitError(), llvm::Function::getContext(), llvm::Function::getFnAttribute(), llvm::Attribute::getValueAsString(), llvm::Attribute::isStringAttribute(), and llvm::StringRef::split().
Referenced by llvm::AMDGPUSubtarget::getFlatWorkGroupSizes(), and llvm::AMDGPUSubtarget::getWavesPerEU().
AMDGPU::IsaVersion llvm::AMDGPU::getIsaVersion | ( | StringRef | GPU | ) |
Definition at line 172 of file TargetParser.cpp.
References GK_GFX600, GK_GFX601, GK_GFX700, GK_GFX701, GK_GFX702, GK_GFX703, GK_GFX704, GK_GFX801, GK_GFX802, GK_GFX803, GK_GFX810, GK_GFX900, GK_GFX902, GK_GFX904, GK_GFX906, GK_GFX909, GK_NONE, and parseArchAMDGCN().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), llvm::AMDGPUAsmPrinter::EmitStartOfAsmFile(), encodeCnt(), llvm::AMDGPU::IsaInfo::getAddressableNumSGPRs(), llvm::AMDGPU::IsaInfo::getMaxNumSGPRs(), llvm::AMDGPU::IsaInfo::getNumExtraSGPRs(), llvm::AMDGPU::IsaInfo::getSGPRAllocGranule(), getSpecialRegForName(), llvm::AMDGPU::IsaInfo::getTotalNumSGPRs(), initDefaultAMDKernelCodeT(), llvm::AMDGPUInstPrinter::printWaitFlag(), readsVCCZ(), and llvm::AMDGPU::IsaInfo::streamIsaVersion().
unsigned llvm::AMDGPU::getLgkmcntBitMask | ( | const IsaVersion & | Version | ) |
Version
. Definition at line 525 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::AMDGPUInstPrinter::printWaitFlag(), and readsVCCZ().
LLVM_READONLY int llvm::AMDGPU::getMaskedMIMGOp | ( | unsigned | Opc, |
unsigned | NewChannels | ||
) |
Definition at line 123 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MIMGInfo::BaseOpcode, llvm::AMDGPU::MIMGInfo::MIMGEncoding, llvm::AMDGPU::MIMGInfo::Opcode, and llvm::AMDGPU::MIMGInfo::VAddrDwords.
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst().
LLVM_READONLY int llvm::AMDGPU::getMCOpcode | ( | uint16_t | Opcode, |
unsigned | Gen | ||
) |
Definition at line 177 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::SIInstrInfo::pseudoToMCOpcode().
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
.
Definition at line 748 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::getArch(), llvm::MCSubtargetInfo::getTargetTriple(), MAP_REG2REG, and llvm::Triple::r600.
Referenced by llvm::AMDGPUDisassembler::createRegOperand(), getVariantKind(), and isKernel().
LLVM_READONLY const MIMGBaseOpcodeInfo* llvm::AMDGPU::getMIMGBaseOpcodeInfo | ( | unsigned | BaseOpcode | ) |
Referenced by parseTexFail().
LLVM_READONLY const MIMGDimInfo* llvm::AMDGPU::getMIMGDimInfo | ( | unsigned | Dim | ) |
Referenced by parseTexFail().
LLVM_READONLY const MIMGLZMappingInfo* llvm::AMDGPU::getMIMGLZMappingInfo | ( | unsigned | L | ) |
Referenced by parseTexFail().
LLVM_READONLY int llvm::AMDGPU::getMIMGOpcode | ( | unsigned | BaseOpcode, |
unsigned | MIMGEncoding, | ||
unsigned | VDataDwords, | ||
unsigned | VAddrDwords | ||
) |
Definition at line 116 of file AMDGPUBaseInfo.cpp.
References Info, and llvm::AMDGPU::MIMGInfo::Opcode.
Referenced by parseTexFail().
LLVM_READONLY int llvm::AMDGPU::getMUBUFBaseOpcode | ( | unsigned | Opc | ) |
Definition at line 144 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MUBUFInfo::BaseOpcode, and Info.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY int llvm::AMDGPU::getMUBUFDwords | ( | unsigned | Opc | ) |
Definition at line 154 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MUBUFInfo::dwords, and Info.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasSoffset | ( | unsigned | Opc | ) |
Definition at line 169 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MUBUFInfo::has_soffset, and Info.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasSrsrc | ( | unsigned | Opc | ) |
Definition at line 164 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MUBUFInfo::has_srsrc, and Info.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasVAddr | ( | unsigned | Opc | ) |
Definition at line 159 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MUBUFInfo::has_vaddr, and Info.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY int llvm::AMDGPU::getMUBUFNoLdsInst | ( | uint16_t | Opcode | ) |
Referenced by encodeBitmaskPerm(), and llvm::getRegSubRegPair().
LLVM_READONLY int llvm::AMDGPU::getMUBUFOpcode | ( | unsigned | BaseOpc, |
unsigned | Dwords | ||
) |
Definition at line 149 of file AMDGPUBaseInfo.cpp.
References Info, and llvm::AMDGPU::MUBUFInfo::Opcode.
Referenced by canMoveInstsAcrossMemOp().
LLVM_READONLY int16_t llvm::AMDGPU::getNamedOperandIdx | ( | uint16_t | Opcode, |
uint16_t | NamedIdx | ||
) |
Referenced by addRegsToSet(), allOpsDefaultValue(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), llvm::SIInstrInfo::buildShrunkInst(), canMoveInstsAcrossMemOp(), llvm::SIInstrInfo::commuteInstructionImpl(), llvm::AMDGPUDisassembler::convertMIMGInst(), llvm::AMDGPUDisassembler::convertSDWAInst(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::createSIAddIMGInitPass(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::R600InstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::findCommutedOpIndices(), findSingleRegDef(), llvm::SIInstrInfo::FoldImmediate(), foldImmediates(), getDPPOp(), llvm::SIRegisterInfo::getFrameIndexInstrOffset(), llvm::SIInstrInfo::getInstSizeInBytes(), llvm::SIInstrInfo::getMemOperandWithOffset(), llvm::SIRegisterInfo::getMUBUFInstrOffset(), llvm::SIInstrInfo::getNamedImmOperand(), llvm::SIInstrInfo::getNamedOperand(), llvm::R600InstrInfo::getOperandIdx(), getSpecialRegForName(), llvm::SIInstrInfo::hasModifiers(), insertNamedMCOperand(), llvm::SIInstrInfo::isBufferSMRD(), isInlineConstantIfFolded(), isRegOrImmWithInputMods(), isSendMsgTraceDataOrGDS(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOperandsVOP2(), llvm::SIInstrInfo::legalizeOperandsVOP3(), nodesHaveSameOperandValue(), llvm::AMDGPUInstPrinter::printRegOperand(), removeModOperands(), tryAddToFoldList(), tryConstantFoldOp(), tryFoldInst(), updateOperand(), and llvm::SIInstrInfo::verifyInstruction().
|
inline |
Definition at line 437 of file AMDGPUBaseInfo.h.
References LLVM_READNONE, llvm_unreachable, OPERAND_REG_IMM_FP16, OPERAND_REG_IMM_FP32, OPERAND_REG_IMM_FP64, OPERAND_REG_IMM_INT16, OPERAND_REG_IMM_INT32, OPERAND_REG_IMM_INT64, OPERAND_REG_INLINE_C_FP16, OPERAND_REG_INLINE_C_FP32, OPERAND_REG_INLINE_C_FP64, OPERAND_REG_INLINE_C_INT16, OPERAND_REG_INLINE_C_INT32, OPERAND_REG_INLINE_C_INT64, OPERAND_REG_INLINE_C_V2FP16, OPERAND_REG_INLINE_C_V2INT16, and llvm::MCOperandInfo::OperandType.
Referenced by getOperandSize(), and getSpecialRegForName().
|
inline |
Definition at line 465 of file AMDGPUBaseInfo.h.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, Arg, getOperandSize(), getSMRDEncodedOffset(), isArgPassedInSGPR(), isInlinableLiteral16(), isInlinableLiteral32(), isInlinableLiteral64(), isInlinableLiteralV216(), isIntrinsicSourceOfDivergence(), isLegalSMRDImmOffset(), llvm::Literal, LLVM_READNONE, llvm::MCInstrDesc::OpInfo, splitMUBUFOffset(), and llvm::ARM_MB::ST.
Get the size in bits of a register from the register class RC
.
Definition at line 801 of file AMDGPUBaseInfo.cpp.
References llvm_unreachable.
Referenced by addRegsToSet(), buildMUBUFOffsetLoadStore(), llvm::SIInstrInfo::canInsertSelect(), findSRegBaseAndIndex(), getRegBitWidth(), getRegOperandSize(), llvm::SIRegisterInfo::getRegSplitParts(), INITIALIZE_PASS(), isKernel(), isUseSafeToFold(), llvm::BitTracker::MachineEvaluator::MachineEvaluator(), and llvm::AMDGPUInstPrinter::printRegOperand().
unsigned llvm::AMDGPU::getRegBitWidth | ( | const MCRegisterClass & | RC | ) |
Get the size in bits of a register from the register class RC
.
Definition at line 832 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterClass::getID(), and getRegBitWidth().
unsigned llvm::AMDGPU::getRegOperandSize | ( | const MCRegisterInfo * | MRI, |
const MCInstrDesc & | Desc, | ||
unsigned | OpNo | ||
) |
Get size of register operand.
Definition at line 836 of file AMDGPUBaseInfo.cpp.
References assert(), getRegBitWidth(), llvm::MCRegisterInfo::getRegClass(), llvm::MCInstrDesc::NumOperands, llvm::MCInstrDesc::OpInfo, and llvm::MCOperandInfo::RegClass.
Referenced by getSpecialRegForName(), and isKernel().
LLVM_READONLY int llvm::AMDGPU::getSDWAOp | ( | uint16_t | Opcode | ) |
Referenced by findSingleRegDef(), and llvm::getRegSubRegPair().
int64_t llvm::AMDGPU::getSMRDEncodedOffset | ( | const MCSubtargetInfo & | ST, |
int64_t | ByteOffset | ||
) |
ByteOffset
in the SMRD offset field. Definition at line 939 of file AMDGPUBaseInfo.cpp.
References isGCN3Encoding().
Referenced by canMoveInstsAcrossMemOp(), getOperandSize(), getSmrdOpcode(), isLegalSMRDImmOffset(), and isStackPtrRelative().
LLVM_READONLY int llvm::AMDGPU::getSOPKOp | ( | uint16_t | Opcode | ) |
Referenced by llvm::getRegSubRegPair(), and shrinkScalarCompare().
unsigned llvm::AMDGPU::getVmcntBitMask | ( | const IsaVersion & | Version | ) |
Version
. Definition at line 512 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::IsaVersion::Major.
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::AMDGPUInstPrinter::printWaitFlag(), and readsVCCZ().
LLVM_READONLY int llvm::AMDGPU::getVOPe32 | ( | uint16_t | Opcode | ) |
LLVM_READONLY int llvm::AMDGPU::getVOPe64 | ( | uint16_t | Opcode | ) |
Referenced by llvm::getRegSubRegPair().
unsigned llvm::AMDGPU::getWaitcntBitMask | ( | const IsaVersion & | Version | ) |
Version
. Definition at line 529 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::IsaVersion::Major.
Referenced by llvm::AMDGPU::Waitcnt::combined(), encodeCnt(), and encodeWaitcnt().
bool llvm::AMDGPU::hasMIMG_R128 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 658 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by isKernel().
bool llvm::AMDGPU::hasPackedD16 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 662 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst(), getSpecialRegForName(), and isKernel().
bool llvm::AMDGPU::hasSRAMECC | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 654 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by llvm::AMDGPUTargetELFStreamer::AMDGPUTargetELFStreamer(), isKernel(), and llvm::AMDGPU::IsaInfo::streamIsaVersion().
bool llvm::AMDGPU::hasXNACK | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 650 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by llvm::AMDGPUTargetELFStreamer::AMDGPUTargetELFStreamer(), llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyEnd(), getSpecialRegForName(), isKernel(), and llvm::AMDGPU::IsaInfo::streamIsaVersion().
void llvm::AMDGPU::initDefaultAMDKernelCodeT | ( | amd_kernel_code_t & | Header, |
const MCSubtargetInfo * | STI | ||
) |
Definition at line 413 of file AMDGPUBaseInfo.cpp.
References amd_kernel_code_s::amd_kernel_code_version_major, amd_kernel_code_s::amd_kernel_code_version_minor, amd_kernel_code_s::amd_machine_kind, amd_kernel_code_s::amd_machine_version_major, amd_kernel_code_s::amd_machine_version_minor, amd_kernel_code_s::amd_machine_version_stepping, amd_kernel_code_s::call_convention, llvm::MCSubtargetInfo::getCPU(), getIsaVersion(), amd_kernel_code_s::group_segment_alignment, amd_kernel_code_s::kernarg_segment_alignment, amd_kernel_code_s::kernel_code_entry_byte_offset, llvm::AMDGPU::IsaVersion::Major, llvm::Intrinsic::memset, llvm::AMDGPU::IsaVersion::Minor, amd_kernel_code_s::private_segment_alignment, llvm::AMDGPU::IsaVersion::Stepping, llvm::IndexedInstrProf::Version, and amd_kernel_code_s::wavefront_size.
Referenced by getElementByteSizeValue().
Definition at line 913 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, llvm::Attribute::ByVal, F(), llvm::Argument::getArgNo(), llvm::Function::getAttributes(), llvm::Function::getCallingConv(), llvm::Argument::getParent(), llvm::AttributeList::hasParamAttribute(), llvm::Attribute::InReg, and llvm::CallingConv::SPIR_KERNEL.
Referenced by getOperandSize(), and llvm::AMDGPUInstrInfo::isUniformMMO().
bool llvm::AMDGPU::isCI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 670 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by encodeCnt(), getSpecialRegForName(), isKernel(), llvm::AMDGPUInstPrinter::printHwreg(), and llvm::AMDGPUInstPrinter::printRegOperand().
LLVM_READNONE bool llvm::AMDGPU::isCompute | ( | CallingConv::ID | cc | ) |
Definition at line 629 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_CS, and isShader().
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::GCNSubtarget::enableIEEEBit(), llvm::R600AsmPrinter::getPassName(), getRsrcReg(), llvm::R600InstrInfo::usesTextureCache(), and llvm::R600InstrInfo::usesVertexCache().
LLVM_READNONE bool llvm::AMDGPU::isEntryFunctionCC | ( | CallingConv::ID | CC | ) |
Definition at line 633 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, and llvm::CallingConv::SPIR_KERNEL.
Referenced by llvm::SITargetLowering::CanLowerReturn(), llvm::AMDGPU::Waitcnt::combined(), copyFeaturesToFunction(), INITIALIZE_PASS(), llvm::SITargetLowering::isSDNodeSourceOfDivergence(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SITargetLowering::mayBeEmittedAsTailCall(), and mustPreserveGV().
bool llvm::AMDGPU::isGCN3Encoding | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 682 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by getSMRDEncodedOffset(), and isLegalSMRDImmOffset().
bool llvm::AMDGPU::isGFX9 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 678 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by isKernel().
bool llvm::AMDGPU::isGlobalSegment | ( | const GlobalValue * | GV | ) |
Definition at line 459 of file AMDGPUBaseInfo.cpp.
References llvm::PointerType::getAddressSpace(), llvm::GlobalValue::getType(), and AMDGPUAS::GLOBAL_ADDRESS.
bool llvm::AMDGPU::isGroupSegment | ( | const GlobalValue * | GV | ) |
Definition at line 455 of file AMDGPUBaseInfo.cpp.
References llvm::PointerType::getAddressSpace(), llvm::GlobalValue::getType(), and AMDGPUAS::LOCAL_ADDRESS.
Referenced by llvm::AMDGPUAsmPrinter::EmitGlobalVariable().
LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteral16 | ( | int16_t | Literal, |
bool | HasInv2Pi | ||
) |
Definition at line 886 of file AMDGPUBaseInfo.cpp.
Referenced by getOperandSize(), getSpecialRegForName(), isInlinableLiteralV216(), and llvm::SIInstrInfo::isInlineConstant().
LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteral32 | ( | int32_t | Literal, |
bool | HasInv2Pi | ||
) |
Definition at line 860 of file AMDGPUBaseInfo.cpp.
References llvm::FloatToBits().
Referenced by llvm::SIRegisterInfo::eliminateFrameIndex(), getOperandSize(), getSpecialRegForName(), llvm::SIInstrInfo::isInlineConstant(), and shrinkScalarLogicOp().
LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteral64 | ( | int64_t | Literal, |
bool | HasInv2Pi | ||
) |
Is this literal inlinable.
Definition at line 843 of file AMDGPUBaseInfo.cpp.
References llvm::DoubleToBits().
Referenced by getOperandSize(), getSpecialRegForName(), and llvm::SIInstrInfo::isInlineConstant().
LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralV216 | ( | int32_t | Literal, |
bool | HasInv2Pi | ||
) |
Definition at line 905 of file AMDGPUBaseInfo.cpp.
References assert(), and isInlinableLiteral16().
Referenced by getOperandSize(), getSpecialRegForName(), and llvm::SIInstrInfo::isInlineConstant().
Definition at line 1009 of file AMDGPUBaseInfo.cpp.
Referenced by getOperandSize(), llvm::SITargetLowering::isSDNodeSourceOfDivergence(), and llvm::GCNTTIImpl::isSourceOfDivergence().
|
inline |
Definition at line 383 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_KERNEL, getMCReg(), getRegBitWidth(), getRegOperandSize(), hasMIMG_R128(), hasPackedD16(), hasSRAMECC(), hasXNACK(), isCI(), isGFX9(), isRegIntersect(), isSGPR(), isSI(), isSISrcFPOperand(), isSISrcInlinableOperand(), isSISrcOperand(), isVI(), LLVM_READNONE, mc2PseudoReg(), MRI, Reg, llvm::CallingConv::SPIR_KERNEL, and TRI.
Referenced by llvm::SITargetLowering::LowerFormalArguments(), and llvm::SITargetLowering::LowerReturn().
bool llvm::AMDGPU::isLegalSMRDImmOffset | ( | const MCSubtargetInfo & | ST, |
int64_t | ByteOffset | ||
) |
ByteOffset
should be the offset in bytes and not the encoded offset. Definition at line 945 of file AMDGPUBaseInfo.cpp.
References getSMRDEncodedOffset(), isGCN3Encoding(), and llvm::isUInt< 8 >().
Referenced by getOperandSize(), getSmrdOpcode(), and isStackPtrRelative().
bool llvm::AMDGPU::isReadOnlySegment | ( | const GlobalValue * | GV | ) |
Definition at line 463 of file AMDGPUBaseInfo.cpp.
References AMDGPUAS::CONSTANT_ADDRESS, AMDGPUAS::CONSTANT_ADDRESS_32BIT, llvm::PointerType::getAddressSpace(), and llvm::GlobalValue::getType().
Referenced by llvm::AMDGPUTargetObjectFile::SelectSectionForGlobal().
bool llvm::AMDGPU::isRegIntersect | ( | unsigned | Reg0, |
unsigned | Reg1, | ||
const MCRegisterInfo * | TRI | ||
) |
Is there any intersection between registers.
Definition at line 693 of file AMDGPUBaseInfo.cpp.
Referenced by getSpecialRegForName(), and isKernel().
bool llvm::AMDGPU::isSGPR | ( | unsigned | Reg, |
const MCRegisterInfo * | TRI | ||
) |
Is Reg - scalar register.
Definition at line 686 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterClass::contains(), llvm::MCRegisterInfo::getRegClass(), and llvm::MCRegisterInfo::getSubReg().
Referenced by getLit64Encoding(), getSpecialRegForName(), and isKernel().
LLVM_READNONE bool llvm::AMDGPU::isShader | ( | CallingConv::ID | cc | ) |
Definition at line 614 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, and llvm::CallingConv::AMDGPU_VS.
Referenced by llvm::SIInstrInfo::calculateLDSSpillAddress(), llvm::AMDGPU::Waitcnt::combined(), isCompute(), llvm::GCNSubtarget::isMesaGfxShader(), llvm::AMDGPUSubtarget::isMesaKernel(), llvm::SIInstrInfo::legalizeOperands(), llvm::SITargetLowering::LowerCall(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), and llvm::SITargetLowering::LowerReturn().
bool llvm::AMDGPU::isSI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 666 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by encodeCnt(), getSpecialRegForName(), isKernel(), llvm::AMDGPUInstPrinter::printHwreg(), and llvm::AMDGPUInstPrinter::printRegOperand().
bool llvm::AMDGPU::isSISrcFPOperand | ( | const MCInstrDesc & | Desc, |
unsigned | OpNo | ||
) |
Is this floating-point operand?
Definition at line 775 of file AMDGPUBaseInfo.cpp.
References assert(), llvm::MCInstrDesc::NumOperands, OPERAND_REG_IMM_FP16, OPERAND_REG_IMM_FP32, OPERAND_REG_IMM_FP64, OPERAND_REG_INLINE_C_FP16, OPERAND_REG_INLINE_C_FP32, OPERAND_REG_INLINE_C_FP64, OPERAND_REG_INLINE_C_V2FP16, llvm::MCOperandInfo::OperandType, and llvm::MCInstrDesc::OpInfo.
Referenced by isKernel().
bool llvm::AMDGPU::isSISrcInlinableOperand | ( | const MCInstrDesc & | Desc, |
unsigned | OpNo | ||
) |
Does this opearnd support only inlinable literals?
Definition at line 792 of file AMDGPUBaseInfo.cpp.
References assert(), llvm::MCInstrDesc::NumOperands, OPERAND_REG_INLINE_C_FIRST, OPERAND_REG_INLINE_C_LAST, llvm::MCOperandInfo::OperandType, and llvm::MCInstrDesc::OpInfo.
Referenced by isKernel().
bool llvm::AMDGPU::isSISrcOperand | ( | const MCInstrDesc & | Desc, |
unsigned | OpNo | ||
) |
Can this operand also contain immediate values?
Definition at line 768 of file AMDGPUBaseInfo.cpp.
References assert(), llvm::MCInstrDesc::NumOperands, OPERAND_SRC_FIRST, OPERAND_SRC_LAST, llvm::MCOperandInfo::OperandType, and llvm::MCInstrDesc::OpInfo.
Referenced by getLit64Encoding(), getSpecialRegForName(), isKernel(), and needsPCRel().
bool llvm::AMDGPU::isVI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 674 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by encodeCnt(), isKernel(), isRegOrImmWithInputMods(), and llvm::AMDGPUInstPrinter::printHwreg().
const D16ImageDimIntrinsic* llvm::AMDGPU::lookupD16ImageDimIntrinsic | ( | unsigned | Intr | ) |
const RsrcIntrinsic* llvm::AMDGPU::lookupRsrcIntrinsic | ( | unsigned | Intr | ) |
Referenced by llvm::SITargetLowering::getTgtMemIntrinsic().
LLVM_READNONE unsigned llvm::AMDGPU::mc2PseudoReg | ( | unsigned | Reg | ) |
Convert hardware register Reg
to a pseudo register.
Definition at line 760 of file AMDGPUBaseInfo.cpp.
References MAP_REG2REG.
Referenced by getLit64Encoding(), getSpecialRegForName(), and isKernel().
AMDGPU::GPUKind llvm::AMDGPU::parseArchAMDGCN | ( | StringRef | CPU | ) |
Definition at line 131 of file TargetParser.cpp.
Referenced by llvm::AMDGPUTargetStreamer::getElfMach(), and getIsaVersion().
AMDGPU::GPUKind llvm::AMDGPU::parseArchR600 | ( | StringRef | CPU | ) |
Definition at line 140 of file TargetParser.cpp.
Referenced by llvm::AMDGPUTargetStreamer::getElfMach().
TT
, false otherwise. Definition at line 468 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::AMDHSA, and llvm::Triple::getOS().
Referenced by findUser(), and llvm::AMDGPUTargetObjectFile::SelectSectionForGlobal().
bool llvm::AMDGPU::splitMUBUFOffset | ( | uint32_t | Imm, |
uint32_t & | SOffset, | ||
uint32_t & | ImmOffset, | ||
const GCNSubtarget * | Subtarget, | ||
uint32_t | Align | ||
) |
Definition at line 958 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, llvm::alignDown(), llvm::GCNSubtarget::getGeneration(), High, and llvm::AMDGPUSubtarget::SEA_ISLANDS.
Referenced by getOperandSize().
const uint64_t llvm::AMDGPU::RSRC_DATA_FORMAT = 0xf00000000000LL |
Definition at line 1008 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getDefaultRsrcDataFormat(), and llvm::SIInstrInfo::getScratchRsrcWords23().
const uint64_t llvm::AMDGPU::RSRC_ELEMENT_SIZE_SHIFT = (32 + 19) |
Definition at line 1009 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().
const uint64_t llvm::AMDGPU::RSRC_INDEX_STRIDE_SHIFT = (32 + 21) |
Definition at line 1010 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().
const uint64_t llvm::AMDGPU::RSRC_TID_ENABLE = UINT64_C(1) << (32 + 23) |
Definition at line 1011 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().