|
LLVM 23.0.0git
|
Namespaces | |
| namespace | Barrier |
| namespace | CPol |
| namespace | DepCtr |
| namespace | DPP |
| namespace | DWARFAS |
| namespace | ElfNote |
| namespace | EncValues |
| namespace | Exp |
| namespace | FlavorGroups |
| namespace | GenericVersion |
| Generic target versions emitted by this version of LLVM. | |
| namespace | HSAMD |
| namespace | HWEncoding |
| namespace | Hwreg |
| namespace | impl |
| namespace | ImplicitArg |
| namespace | IsaInfo |
| namespace | MFMAScaleFormats |
| namespace | MTBUFFormat |
| namespace | PALMD |
| namespace | SDWA |
| namespace | SendMsg |
| namespace | Swizzle |
| namespace | UCVersion |
| namespace | UfmtGFX10 |
| namespace | UfmtGFX11 |
| namespace | VGPRIndexMode |
| namespace | VirtRegFlag |
| namespace | VOP3PEncoding |
| namespace | VOPD |
| namespace | WaitEvent |
| namespace | WMMA |
| namespace | WMMAMods |
Typedefs | |
| using | FlavorGroup = SmallVector<InstructionFlavor, 4> |
| using | FunctionVariableMap = DenseMap<Function *, DenseSet<GlobalVariable *>> |
| using | VariableFunctionMap = DenseMap<GlobalVariable *, DenseSet<Function *>> |
| template<unsigned Bit, unsigned D = 0> | |
| using | EncodingBit = EncodingField<Bit, Bit, D> |
Variables | |
| static constexpr LaneMaskConstants | LaneMaskConstants32 |
| static constexpr LaneMaskConstants | LaneMaskConstants64 |
| 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) |
| static constexpr uint32_t | ExtendedFltRoundOffset = 4 |
| Offset of nonstandard values for llvm.get.rounding results from the largest supported mode. | |
| static constexpr uint32_t | F32FltRoundOffset = 0 |
| Offset in mode register of f32 rounding mode. | |
| static constexpr uint32_t | F64FltRoundOffset = 2 |
| Offset in mode register of f64/f16 rounding mode. | |
| const uint64_t | FltRoundConversionTable |
| const uint64_t | FltRoundToHWConversionTable |
| const int | OPR_ID_UNKNOWN = -1 |
| const int | OPR_ID_UNSUPPORTED = -2 |
| const int | OPR_ID_DUPLICATE = -3 |
| const int | OPR_VAL_INVALID = -4 |
| constexpr unsigned | VOPDXYKeyBits = 11 |
| constexpr auto | VOPDXYLookup = buildVOPDXYLookup() |
| using llvm::AMDGPU::EncodingBit = EncodingField<Bit, Bit, D> |
Definition at line 459 of file AMDGPUBaseInfo.h.
| using llvm::AMDGPU::FlavorGroup = SmallVector<InstructionFlavor, 4> |
Definition at line 101 of file AMDGPUCoExecSchedStrategy.h.
| using llvm::AMDGPU::FunctionVariableMap = DenseMap<Function *, DenseSet<GlobalVariable *>> |
Definition at line 33 of file AMDGPUMemoryUtils.h.
| using llvm::AMDGPU::VariableFunctionMap = DenseMap<GlobalVariable *, DenseSet<Function *>> |
Definition at line 34 of file AMDGPUMemoryUtils.h.
| anonymous enum |
| Enumerator | |
|---|---|
| AMDHSA_COV4 | |
| AMDHSA_COV5 | |
| AMDHSA_COV6 | |
Definition at line 65 of file AMDGPUBaseInfo.h.
| enum llvm::AMDGPU::AMDGPUFltRounds : int8_t |
Return values used for llvm.get.rounding.
When both the F32 and F64/F16 modes are the same, returns the standard values. If they differ, returns an extended mode starting at 8.
Definition at line 96 of file SIModeRegisterDefaults.h.
|
strong |
AMDGPU-specific scheduling decision reasons.
These provide more granularity than the generic CandReason enum for debugging purposes.
| Enumerator | |
|---|---|
| None | |
| CritResourceBalance | |
| CritResourceDep | |
| NUM_REASONS | |
Definition at line 124 of file AMDGPUCoExecSchedStrategy.h.
| Enumerator | |
|---|---|
| FEATURE_NONE | |
| FEATURE_FMA | |
| FEATURE_LDEXP | |
| FEATURE_FP64 | |
| FEATURE_FAST_FMA_F32 | |
| FEATURE_FAST_DENORMAL_F32 | |
| FEATURE_WAVE32 | |
| FEATURE_XNACK | |
| FEATURE_SRAMECC | |
| FEATURE_WGP | |
| FEATURE_XNACK_ON_OFF_MODES | |
Definition at line 51 of file AMDGPUTargetParser.h.
| Enumerator | |
|---|---|
| SGPR_SPILL | |
Definition at line 1909 of file SIInstrInfo.h.
| Enumerator | |
|---|---|
| NoFastRules | |
| Standard | |
| StandardB | |
| Vector | |
Definition at line 353 of file AMDGPURegBankLegalizeRules.h.
| Enumerator | |
|---|---|
| NO_ERROR | |
| INVALID_FEATURE_COMBINATION | |
| UNSUPPORTED_TARGET_FEATURE | |
Definition at line 79 of file AMDGPUTargetParser.h.
| enum llvm::AMDGPU::Fixups |
| Enumerator | |
|---|---|
| fixup_si_sopp_br | 16-bit PC relative fixup for SOPP branch instructions. |
| LastTargetFixupKind | |
| NumTargetFixupKinds | |
Definition at line 16 of file AMDGPUFixupKinds.h.
|
strong |
| Enumerator | |
|---|---|
| FLAT | |
| FlatGlobal | |
| FlatScratch | |
Definition at line 92 of file AMDGPUAddrSpace.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| FP4 | |
| FP8 | |
Definition at line 67 of file AMDGPUBaseInfo.h.
|
strong |
Per-function flags packed into INFO_FLAGS entries.
| Enumerator | |
|---|---|
| FUNC_USES_VCC | |
| FUNC_USES_FLAT_SCRATCH | |
| FUNC_HAS_DYN_STACK | |
| LLVM_MARK_AS_BITMASK_ENUM | |
Definition at line 64 of file AMDGPUObjLinkingInfo.h.
| enum llvm::AMDGPU::GPUKind : uint32_t |
GPU kinds supported by the AMDGPU target.
| Enumerator | |
|---|---|
| GK_NONE | |
| GK_AMDGCN_GENERIC_FIRST | |
| GK_AMDGCN_GENERIC_LAST | |
Definition at line 30 of file AMDGPUTargetParser.h.
|
strong |
TODO: This should be a bitmask from the start instead of having this enum.
Definition at line 24 of file AMDGPUHWEvents.h.
| enum llvm::AMDGPU::IGLPStrategyID : int |
Operand 0 immediate for IGLP_OPT pseudo instructions.
| Enumerator | |
|---|---|
| MFMASmallGemmOptID | |
| MFMASmallGemmSingleWaveOptID | |
| MFMAExpInterleaveID | |
| MFMAExpSimpleInterleaveID | |
Definition at line 22 of file AMDGPUIGroupLP.h.
|
strong |
Entry kind values for the .amdgpu.info section.
Entries that appear between an INFO_FUNC and the next INFO_FUNC (or end of section) belong to the function scope opened by that INFO_FUNC.
| Enumerator | |
|---|---|
| INFO_FUNC | Opens a new function scope. Payload is an 8-byte symbol reference (relocated) identifying the function. All subsequent entries until the next INFO_FUNC belong to this function. |
| INFO_FLAGS | Bitfield of FuncInfoFlags properties for the function. [u32]. |
| INFO_NUM_SGPR | Number of SGPRs explicitly used by the function. [u32]. |
| INFO_NUM_VGPR | Number of architectural VGPRs used by the function. [u32]. |
| INFO_NUM_AGPR | Number of accumulator VGPRs (AGPRs) used by the function. [u32]. |
| INFO_PRIVATE_SEGMENT_SIZE | Private (scratch) memory size in bytes required by the function. [u32]. |
| INFO_USE | Dependency edge: the function uses the resource identified by the 8-byte relocated symbol (e.g. an LDS variable or named barrier). |
| INFO_CALL | Direct call edge: the function calls the callee identified by the 8-byte relocated symbol. |
| INFO_INDIRECT_CALL | Indirect call edge: the function contains an indirect call whose callee is expected to match the type-ID string at the given .amdgpu.strtab offset. [u32] |
| INFO_TYPEID | Function type ID: tags an address-taken function with a type-ID string (at the given .amdgpu.strtab offset) so the linker can match it against INFO_INDIRECT_CALL entries. [u32] |
Definition at line 32 of file AMDGPUObjLinkingInfo.h.
| Enumerator | |
|---|---|
| LOAD_CNT | |
| DS_CNT | |
| EXP_CNT | |
| STORE_CNT | |
| NUM_NORMAL_INST_CNTS | |
| SAMPLE_CNT | |
| BVH_CNT | |
| KM_CNT | |
| X_CNT | |
| ASYNC_CNT | |
| TENSOR_CNT | |
| NUM_EXTENDED_INST_CNTS | |
| VA_VDST | |
| VM_VSRC | |
| NUM_EXPERT_INST_CNTS | |
| NUM_INST_CNTS | |
Definition at line 22 of file AMDGPUWaitcntUtils.h.
|
strong |
| Enumerator | |
|---|---|
| WMMA | |
| SingleCycleVALU | |
| TRANS | |
| MultiCycleVALU | |
| VMEM | |
| DS | |
| SALU | |
| DMA | |
| Fence | |
| Other | |
| NUM_FLAVORS | |
Definition at line 28 of file AMDGPUCoExecSchedStrategy.h.
Definition at line 309 of file AMDGPURegBankLegalizeRules.h.
Definition at line 413 of file SIDefines.h.
Definition at line 166 of file AMDGPURegBankLegalizeRules.h.
|
strong |
| Enumerator | |
|---|---|
| Initial | |
| PreRAReentry | |
| PostRA | |
Definition at line 19 of file AMDGPUIGroupLP.h.
Definition at line 39 of file AMDGPURegBankLegalizeRules.h.
Definition at line 619 of file AMDGPU.h.
References llvm::AMDGPUAS::MAX_AMDGPU_ADDRESS.
Referenced by llvm::GCNTTIImpl::addrspacesMayAlias(), llvm::AMDGPUAAResult::alias(), and llvm::GCNTTIImpl::isValidAddrSpaceCast().
| void llvm::AMDGPU::buildReadAnyLane | ( | MachineIRBuilder & | B, |
| Register | SgprDst, | ||
| Register | VgprSrc, | ||
| const RegisterBankInfo & | RBI ) |
Definition at line 171 of file AMDGPUGlobalISelUtils.cpp.
References B(), and buildReadLane().
| void llvm::AMDGPU::buildReadFirstLane | ( | MachineIRBuilder & | B, |
| Register | SgprDst, | ||
| Register | VgprSrc, | ||
| const RegisterBankInfo & | RBI ) |
Definition at line 180 of file AMDGPUGlobalISelUtils.cpp.
References B(), and buildReadLane().
|
staticconstexpr |
Definition at line 705 of file AMDGPUBaseInfo.cpp.
References E(), and getVOPDXYKey().
|
constexpr |
Definition at line 1555 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::Fast.
Referenced by llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), and mayTailCallThisCC().
| InstructionFlavor llvm::AMDGPU::classifyFlavor | ( | const MachineInstr & | MI, |
| const SIInstrInfo & | SII ) |
Definition at line 46 of file AMDGPUCoExecSchedStrategy.cpp.
References DMA, DS, Fence, llvm::SIInstrInfo::isDS(), llvm::SIInstrInfo::isLDSDMA(), llvm::SIInstrInfo::isMFMAorWMMA(), llvm::SIInstrInfo::isSALU(), llvm::SIInstrInfo::isTRANS(), llvm::SIInstrInfo::isVALU(), llvm::SIInstrInfo::isVMEM(), MI, Opc, Other, SALU, SingleCycleVALU, TRANS, VMEM, and WMMA.
Referenced by llvm::CandidateHeuristics::collectHWUIPressure(), llvm::AMDGPUCoExecSchedStrategy::dumpPickSummary(), llvm::CandidateHeuristics::tryCriticalResourceDependency(), and llvm::CandidateHeuristics::updateForScheduling().
| std::optional< unsigned > llvm::AMDGPU::convertSetRegImmToVgprMSBs | ( | const MachineInstr & | MI, |
| bool | HasSetregVGPRMSBFixup ) |
MI if it sets it. If HasSetregVGPRMSBFixup is true then size of the ID_MODE mask is ignored. Definition at line 3684 of file AMDGPUBaseInfo.cpp.
References assert(), convertSetRegImmToVgprMSBs(), and MI.
| std::optional< unsigned > llvm::AMDGPU::convertSetRegImmToVgprMSBs | ( | const MCInst & | MI, |
| bool | HasSetregVGPRMSBFixup ) |
MI if it sets it. If HasSetregVGPRMSBFixup is true then size of the ID_MODE mask is ignored. Definition at line 3692 of file AMDGPUBaseInfo.cpp.
References assert(), convertSetRegImmToVgprMSBs(), and MI.
|
static |
Definition at line 3666 of file AMDGPUBaseInfo.cpp.
References llvm::countr_zero_constexpr(), llvm::AMDGPU::EncodingFields< HwregId, HwregOffset, HwregSize >::decode(), llvm::AMDGPU::Hwreg::DST_VGPR_MSB, llvm::AMDGPU::Hwreg::ID_MODE, Imm, llvm::maskTrailingOnes(), llvm::Offset, llvm::rotr(), Size, and llvm::AMDGPU::Hwreg::VGPR_MSB_MASK.
Referenced by convertSetRegImmToVgprMSBs(), convertSetRegImmToVgprMSBs(), llvm::AMDGPUAsmPrinter::emitInstruction(), and llvm::AMDGPU::AMDGPUMCInstrAnalysis::updateState().
| uint64_t llvm::AMDGPU::convertSMRDOffsetUnits | ( | const MCSubtargetInfo & | ST, |
| uint64_t | ByteOffset ) |
Convert ByteOffset to dwords if the subtarget uses dword SMRD immediate offsets.
Definition at line 3512 of file AMDGPUBaseInfo.cpp.
References assert(), hasSMEMByteOffset(), and isDwordAligned().
Referenced by getSMRDEncodedLiteralOffset32(), and getSMRDEncodedOffset().
Definition at line 34 of file AMDGPUMemoryUtils.cpp.
References N, and llvm::Instruction::setMetadata().
| std::optional< AMDGPU::InstCounterType > llvm::AMDGPU::counterTypeForInstr | ( | unsigned | Opcode | ) |
Determine if MI is a gfx12+ single-counter S_WAIT_*CNT instruction, and if so, which counter it is waiting on.
Definition at line 140 of file AMDGPUWaitcntUtils.cpp.
References ASYNC_CNT, BVH_CNT, DS_CNT, EXP_CNT, KM_CNT, LOAD_CNT, SAMPLE_CNT, STORE_CNT, TENSOR_CNT, and X_CNT.
Referenced by isWaitInstr().
| Register llvm::AMDGPU::createLaneMaskReg | ( | MachineRegisterInfo * | MRI, |
| MachineRegisterInfo::VRegAttrs | LaneMaskRegAttrs ) |
Definition at line 373 of file SILowerI1Copies.cpp.
References llvm::MachineRegisterInfo::createVirtualRegister().
Referenced by insertUndefLaneMask(), and llvm::AMDGPU::PhiLoweringHelper::lowerPhis().
|
static |
Definition at line 79 of file AMDGPUAsanInstrumentation.cpp.
References llvm::IRBuilderBase::CreateAdd(), llvm::IRBuilderBase::CreateAnd(), llvm::IRBuilderBase::CreateICmpSGE(), llvm::IRBuilderBase::CreateIntCast(), and llvm::Value::getType().
Referenced by instrumentAddressImpl().
|
static |
Definition at line 2098 of file AMDGPUBaseInfo.cpp.
References Size.
Referenced by llvm::AMDGPU::DepCtr::decodeDepCtr().
| unsigned llvm::AMDGPU::decodeDscnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1973 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeLoadcntDscnt(), and decodeStorecntDscnt().
| unsigned llvm::AMDGPU::decodeExpcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1953 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeWaitcnt(), and decodeWaitcnt().
Read the hardware rounding mode equivalent of a AMDGPUFltRounds value.
Definition at line 235 of file SIModeRegisterDefaults.cpp.
References FltRoundToHWConversionTable.
Referenced by llvm::SITargetLowering::lowerSET_ROUNDING().
| unsigned llvm::AMDGPU::decodeLgkmcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1958 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeWaitcnt(), and decodeWaitcnt().
| unsigned llvm::AMDGPU::decodeLoadcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1963 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeLoadcntDscnt().
| Waitcnt llvm::AMDGPU::decodeLoadcntDscnt | ( | const IsaVersion & | Version, |
| unsigned | LoadcntDscnt ) |
LoadcntDscnt for given isa Version. Definition at line 115 of file AMDGPUWaitcntUtils.cpp.
References decodeDscnt(), decodeLoadcnt(), DS_CNT, LOAD_CNT, llvm::AMDGPU::Waitcnt::set(), and llvm::Version.
| unsigned llvm::AMDGPU::decodeStorecnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1968 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeStorecntDscnt().
| Waitcnt llvm::AMDGPU::decodeStorecntDscnt | ( | const IsaVersion & | Version, |
| unsigned | StorecntDscnt ) |
StorecntDscnt for given isa Version. Definition at line 122 of file AMDGPUWaitcntUtils.cpp.
References decodeDscnt(), decodeStorecnt(), DS_CNT, llvm::AMDGPU::Waitcnt::set(), STORE_CNT, and llvm::Version.
| unsigned llvm::AMDGPU::decodeVmcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt ) |
Waitcnt for given isa Version. Definition at line 1945 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by decodeWaitcnt(), and decodeWaitcnt().
| Waitcnt llvm::AMDGPU::decodeWaitcnt | ( | const IsaVersion & | Version, |
| unsigned | Encoded ) |
Definition at line 102 of file AMDGPUWaitcntUtils.cpp.
References decodeExpcnt(), decodeLgkmcnt(), decodeVmcnt(), DS_CNT, EXP_CNT, LOAD_CNT, llvm::AMDGPU::Waitcnt::set(), and llvm::Version.
Referenced by llvm::AMDGPUInstPrinter::printSWaitCnt().
| 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.
Should not be used on gfx12+, the instruction which needs it is deprecated
Vmcnt, Expcnt and Lgkmcnt are decoded as follows: Vmcnt = Waitcnt[3:0] (pre-gfx9) Vmcnt = Waitcnt[15:14,3:0] (gfx9,10) Vmcnt = Waitcnt[15:10] (gfx11) Expcnt = Waitcnt[6:4] (pre-gfx11) Expcnt = Waitcnt[2:0] (gfx11) Lgkmcnt = Waitcnt[11:8] (pre-gfx10) Lgkmcnt = Waitcnt[13:8] (gfx10) Lgkmcnt = Waitcnt[9:4] (gfx11)
Definition at line 1978 of file AMDGPUBaseInfo.cpp.
References decodeExpcnt(), decodeLgkmcnt(), decodeVmcnt(), and llvm::Version.
| bool llvm::AMDGPU::eliminateGVConstantExprUsesFromAllInstructions | ( | Module & | M, |
| function_ref< bool(const GlobalVariable &)> | Filter ) |
Iterates over all GlobalVariables in M, and whenever Filter returns true, replace all constant users of the GV with instructions.
Definition at line 114 of file AMDGPUMemoryUtils.cpp.
References llvm::convertUsersOfConstantsToInstructions(), llvm::Filter, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
| LLVM_READNONE int64_t llvm::AMDGPU::encode32BitLiteral | ( | int64_t | Imm, |
| OperandType | Type, | ||
| bool | IsLit ) |
Definition at line 3399 of file AMDGPUBaseInfo.cpp.
References llvm::Hi_32(), Imm, llvm::Lo_32(), OPERAND_INLINE_SPLIT_BARRIER_INT32, OPERAND_REG_IMM_BF16, OPERAND_REG_IMM_FP16, OPERAND_REG_IMM_FP32, OPERAND_REG_IMM_FP64, OPERAND_REG_IMM_INT32, OPERAND_REG_IMM_V2BF16, OPERAND_REG_IMM_V2FP16, OPERAND_REG_IMM_V2FP16_SPLAT, OPERAND_REG_IMM_V2FP32, OPERAND_REG_IMM_V2FP64, OPERAND_REG_IMM_V2INT16, OPERAND_REG_IMM_V2INT32, OPERAND_REG_INLINE_AC_FP32, OPERAND_REG_INLINE_AC_INT32, OPERAND_REG_INLINE_C_BF16, OPERAND_REG_INLINE_C_FP16, OPERAND_REG_INLINE_C_FP32, and OPERAND_REG_INLINE_C_INT32.
|
static |
Definition at line 2122 of file AMDGPUBaseInfo.cpp.
References encodeCustomOperandVal(), OPR_ID_DUPLICATE, OPR_ID_UNKNOWN, OPR_ID_UNSUPPORTED, and Size.
Referenced by llvm::AMDGPU::DepCtr::encodeDepCtr().
|
static |
Definition at line 2115 of file AMDGPUBaseInfo.cpp.
References OPR_VAL_INVALID.
Referenced by encodeCustomOperand().
|
static |
Definition at line 2041 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeLoadcntDscnt(), and encodeStorecntDscnt().
| unsigned llvm::AMDGPU::encodeExpcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt, | ||
| unsigned | Expcnt ) |
Waitcnt with encoded Expcnt for given isa Version. Definition at line 1994 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeWaitcnt().
| unsigned llvm::AMDGPU::encodeLgkmcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt, | ||
| unsigned | Lgkmcnt ) |
Waitcnt with encoded Lgkmcnt for given isa Version. Definition at line 2000 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeWaitcnt().
|
static |
Definition at line 2029 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeLoadcntDscnt().
| unsigned llvm::AMDGPU::encodeLoadcntDscnt | ( | const IsaVersion & | Version, |
| const Waitcnt & | Decoded ) |
Loadcnt and Dscnt components of Decoded encoded as an immediate that can be used with S_WAIT_LOADCNT_DSCNT for given isa Version. Definition at line 129 of file AMDGPUWaitcntUtils.cpp.
References DS_CNT, encodeLoadcntDscnt(), llvm::AMDGPU::Waitcnt::get(), LOAD_CNT, and llvm::Version.
Referenced by encodeLoadcntDscnt().
| unsigned llvm::AMDGPU::encodeLoadcntDscnt | ( | const IsaVersion & | Version, |
| unsigned | Loadcnt, | ||
| unsigned | Dscnt ) |
Loadcnt and Dscnt for given isa Version. Definition at line 2047 of file AMDGPUBaseInfo.cpp.
References encodeDscnt(), encodeLoadcnt(), getCombinedCountBitMask(), and llvm::Version.
|
static |
Definition at line 2035 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeStorecntDscnt().
| unsigned llvm::AMDGPU::encodeStorecntDscnt | ( | const IsaVersion & | Version, |
| const Waitcnt & | Decoded ) |
Storecnt and Dscnt components of Decoded encoded as an immediate that can be used with S_WAIT_STORECNT_DSCNT for given isa Version. Definition at line 134 of file AMDGPUWaitcntUtils.cpp.
References DS_CNT, encodeStorecntDscnt(), llvm::AMDGPU::Waitcnt::get(), STORE_CNT, and llvm::Version.
Referenced by encodeStorecntDscnt().
| unsigned llvm::AMDGPU::encodeStorecntDscnt | ( | const IsaVersion & | Version, |
| unsigned | Storecnt, | ||
| unsigned | Dscnt ) |
Storecnt and Dscnt for given isa Version. Definition at line 2055 of file AMDGPUBaseInfo.cpp.
References encodeDscnt(), encodeStorecnt(), getCombinedCountBitMask(), and llvm::Version.
| unsigned llvm::AMDGPU::encodeVmcnt | ( | const IsaVersion & | Version, |
| unsigned | Waitcnt, | ||
| unsigned | Vmcnt ) |
Waitcnt with encoded Vmcnt for given isa Version. Definition at line 1985 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeWaitcnt().
| unsigned llvm::AMDGPU::encodeWaitcnt | ( | const IsaVersion & | Version, |
| const Waitcnt & | Decoded ) |
Definition at line 110 of file AMDGPUWaitcntUtils.cpp.
References DS_CNT, encodeWaitcnt(), EXP_CNT, llvm::AMDGPU::Waitcnt::get(), LOAD_CNT, and llvm::Version.
Referenced by 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.
Should not be used on gfx12+, the instruction which needs it is deprecated
Vmcnt, Expcnt and Lgkmcnt are encoded as follows: Waitcnt[2:0] = Expcnt (gfx11+) Waitcnt[3:0] = Vmcnt (pre-gfx9) Waitcnt[3:0] = Vmcnt[3:0] (gfx9,10) Waitcnt[6:4] = Expcnt (pre-gfx11) Waitcnt[9:4] = Lgkmcnt (gfx11) Waitcnt[11:8] = Lgkmcnt (pre-gfx10) Waitcnt[13:8] = Lgkmcnt (gfx10) Waitcnt[15:10] = Vmcnt (gfx11) Waitcnt[15:14] = Vmcnt[5:4] (gfx9,10)
Vmcnt, Expcnt and Lgkmcnt for given isa Version. Definition at line 2006 of file AMDGPUBaseInfo.cpp.
References encodeExpcnt(), encodeLgkmcnt(), encodeVmcnt(), getWaitcntBitMask(), and llvm::Version.
| std::pair< FeatureError, StringRef > llvm::AMDGPU::fillAMDGPUFeatureMap | ( | StringRef | GPU, |
| const Triple & | T, | ||
| StringMap< bool > & | Features ) |
Fills Features map with default values for given target GPU.
Features contains overriding target features and this function returns default target features with entries overridden by Features.
Definition at line 621 of file AMDGPUTargetParser.cpp.
References llvm::Triple::AMDHSA, B(), llvm::StringRef::empty(), F, fillAMDGCNFeatureMap(), fillValidArchListAMDGCN(), insertWaveSizeFeature(), llvm_unreachable, NO_ERROR, parseArchR600(), and T.
| void llvm::AMDGPU::fillValidArchListAMDGCN | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 96 of file AMDGPUTargetParser.cpp.
References llvm::SmallVectorImpl< T >::append().
Referenced by fillAMDGPUFeatureMap().
| void llvm::AMDGPU::fillValidArchListR600 | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 105 of file AMDGPUTargetParser.cpp.
References llvm::SmallVectorImpl< T >::append().
Definition at line 741 of file AMDGPUMCExpr.cpp.
References knownBitsMapHelper(), and tryFoldHelper().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), and llvm::AMDGPUTargetAsmStreamer::EmitAMDKernelCodeT().
|
static |
Definition at line 57 of file AMDGPUAsanInstrumentation.cpp.
References Cond, llvm::IRBuilderBase::CreateIntrinsic(), llvm::IRBuilderBase::CreateIntrinsicWithoutFolding(), llvm::IRBuilderBase::CreateIsNotNull(), llvm::MDBuilder::createUnlikelyBranchWeights(), llvm::IRBuilderBase::GetInsertPoint(), llvm::IRBuilderBase::getInt64Ty(), llvm::IRBuilderBase::SetInsertPoint(), and llvm::SplitBlockAndInsertIfThen().
Referenced by instrumentAddressImpl().
|
static |
Definition at line 97 of file AMDGPUAsanInstrumentation.cpp.
References Call, llvm::IRBuilderBase::CreateCall(), llvm::FunctionType::get(), llvm::IRBuilderBase::getVoidTy(), kAsanReportErrorTemplate, llvm::IRBuilderBase::SetInsertPoint(), and llvm::raw_svector_ostream::str().
Referenced by instrumentAddressImpl().
| LLVM_READONLY int32_t llvm::AMDGPU::getAddr64Inst | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::legalizeOperands().
| LLVM_READONLY unsigned llvm::AMDGPU::getAddrSizeMIMGOp | ( | const MIMGBaseOpcodeInfo * | BaseOpcode, |
| const MIMGDimInfo * | Dim, | ||
| bool | IsA16, | ||
| bool | IsG16Supported ) |
Definition at line 334 of file AMDGPUBaseInfo.cpp.
References llvm::alignTo(), llvm::AMDGPU::MIMGBaseOpcodeInfo::Coordinates, llvm::divideCeil(), llvm::AMDGPU::MIMGBaseOpcodeInfo::G16, llvm::AMDGPU::MIMGBaseOpcodeInfo::Gradients, llvm::AMDGPU::MIMGBaseOpcodeInfo::LodOrClampOrMip, llvm::AMDGPU::MIMGDimInfo::NumCoords, llvm::AMDGPU::MIMGBaseOpcodeInfo::NumExtraArgs, and llvm::AMDGPU::MIMGDimInfo::NumGradients.
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst(), and llvm::SIInstrInfo::verifyInstruction().
| Align llvm::AMDGPU::getAlign | ( | const DataLayout & | DL, |
| const GlobalVariable * | GV ) |
Definition at line 29 of file AMDGPUMemoryUtils.cpp.
References DL, llvm::Value::getPointerAlignment(), and llvm::GlobalValue::getValueType().
Definition at line 213 of file AMDGPUBaseInfo.cpp.
References llvm::mdconst::extract_or_null(), and getDefaultAMDHSACodeObjectVersion().
Referenced by llvm::AMDGPUAsmPrinter::doInitialization(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernel(), llvm::AMDGPUSubtarget::getImplicitArgNumBytes(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::AMDGPULowerKernelAttributesPass::run(), llvm::AMDGPUResourceUsageAnalysis::run(), llvm::AMDGPUResourceUsageAnalysisWrapperPass::runOnMachineFunction(), and llvm::AMDGPUDisassembler::setABIVersion().
Definition at line 226 of file AMDGPUBaseInfo.cpp.
References llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V4, llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V5, llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V6, and getDefaultAMDHSACodeObjectVersion().
Definition at line 74 of file AMDGPUTargetParser.cpp.
References FEATURE_NONE.
Referenced by llvm::AMDGPU::IsaInfo::AMDGPUTargetID::parseTargetIDString().
Definition at line 85 of file AMDGPUTargetParser.cpp.
References FEATURE_NONE.
Definition at line 22 of file AMDGPUTargetParser.cpp.
References assert(), llvm::StringRef::drop_back(), llvm::StringRef::empty(), llvm::StringRef::ends_with(), llvm::StringRef::find(), getArchNameAMDGCN(), GK_AMDGCN_GENERIC_FIRST, GK_AMDGCN_GENERIC_LAST, and llvm::StringRef::take_front().
Definition at line 34 of file AMDGPUTargetParser.cpp.
Referenced by getArchFamilyNameAMDGCN(), llvm::AMDGPUTargetStreamer::getArchNameFromElfMach(), getCanonicalArchName(), and llvm::AMDGPU::IsaInfo::AMDGPUTargetID::print().
Definition at line 45 of file AMDGPUTargetParser.cpp.
Referenced by llvm::AMDGPUTargetStreamer::getArchNameFromElfMach(), and getCanonicalArchName().
| unsigned llvm::AMDGPU::getAsynccntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support Asynccnt Definition at line 1925 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
| std::pair< Register, unsigned > llvm::AMDGPU::getBaseWithConstantOffset | ( | MachineRegisterInfo & | MRI, |
| Register | Reg, | ||
| GISelValueTracking * | ValueTracking = nullptr, | ||
| bool | CheckNUW = false ) |
Returns base register and constant offset.
Definition at line 26 of file AMDGPUGlobalISelUtils.cpp.
References assert(), llvm::sampleprof::Base, llvm::getDefIgnoringCopies(), llvm::LLT::getScalarSizeInBits(), llvm::MachineRegisterInfo::getType(), llvm::MIPatternMatch::m_Copy(), llvm::MIPatternMatch::m_GOr(), llvm::MIPatternMatch::m_GPtrAdd(), llvm::MIPatternMatch::m_ICst(), llvm::MIPatternMatch::m_MInstr(), llvm::MIPatternMatch::m_Reg(), llvm::GISelValueTracking::maskedValueIsZero(), llvm::MIPatternMatch::mi_match(), llvm::MachineInstr::NoUWrap, llvm::Offset, and Register.
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingImpl(), computeIndirectRegIndex(), llvm::AMDGPURegisterBankInfo::setBufferOffsets(), and llvm::AMDGPULegalizerInfo::splitBufferOffsets().
| LLVM_READONLY int32_t llvm::AMDGPU::getBasicFromSDWAOp | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::verifyInstruction().
Definition at line 891 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by getCanBeVOPD(), getVOPDFull(), and getVOPDOpcode().
| unsigned llvm::AMDGPU::getBvhcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support BVHcnt Definition at line 1901 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
| LLVM_READONLY CanBeVOPD llvm::AMDGPU::getCanBeVOPD | ( | unsigned | Opc, |
| unsigned | EncodingFamily, | ||
| bool | VOPD3 ) |
Definition at line 718 of file AMDGPUBaseInfo.cpp.
References getBitOp2(), getVOPDXYKey(), Opc, and VOPDXYLookup.
Referenced by shouldScheduleVOPDAdjacent(), and tryMatchVOPDPairVariant().
Definition at line 135 of file AMDGPUTargetParser.cpp.
References assert(), getArchNameAMDGCN(), getArchNameR600(), GK_NONE, parseArchAMDGCN(), parseArchR600(), and T.
|
static |
Definition at line 2015 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeLoadcntDscnt(), and encodeStorecntDscnt().
| LLVM_READONLY int32_t llvm::AMDGPU::getCommuteOrig | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::commuteOpcode().
| LLVM_READONLY int32_t llvm::AMDGPU::getCommuteRev | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::commuteOpcode().
Definition at line 291 of file AMDGPUBaseInfo.cpp.
References AMDHSA_COV4, AMDHSA_COV5, AMDHSA_COV6, and llvm::AMDGPU::ImplicitArg::COMPLETION_ACTION_OFFSET.
| unsigned llvm::AMDGPU::getDefaultAMDHSACodeObjectVersion | ( | ) |
Definition at line 222 of file AMDGPUBaseInfo.cpp.
References DefaultAMDHSACodeObjectVersion.
Referenced by getAMDHSACodeObjectVersion(), and getAMDHSACodeObjectVersion().
|
static |
Definition at line 2067 of file AMDGPUBaseInfo.cpp.
References Size.
Referenced by llvm::AMDGPU::DepCtr::getDefaultDepCtrEncoding().
Definition at line 280 of file AMDGPUBaseInfo.cpp.
References AMDHSA_COV4, AMDHSA_COV5, AMDHSA_COV6, and llvm::AMDGPU::ImplicitArg::DEFAULT_QUEUE_OFFSET.
| LLVM_READONLY int32_t llvm::AMDGPU::getDPPOp32 | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
| LLVM_READONLY int32_t llvm::AMDGPU::getDPPOp64 | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
| unsigned llvm::AMDGPU::getDscntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support DScnt Definition at line 1913 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
Definition at line 2607 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::GCNSubtarget::computeOccupancy(), llvm::GCNSubtarget::getMaxNumVGPRs(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
| CodeObjectVersion | is a value returned by getAMDHSACodeObjectVersion(). |
Definition at line 239 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::AMDHSA, llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V4, llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V5, llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V6, llvm::report_fatal_error(), and T.
Referenced by llvm::AMDGPUTargetELFStreamer::finish().
|
static |
Map from a symbolic name for a sendmsg/hwreg asm operand to it's encoding.
Definition at line 46 of file AMDGPUAsmUtils.cpp.
References N, OPR_ID_UNKNOWN, and OPR_ID_UNSUPPORTED.
Referenced by llvm::AMDGPU::Hwreg::getHwregId(), llvm::AMDGPU::SendMsg::getMsgId(), llvm::AMDGPU::SendMsg::getMsgOpId(), and llvm::AMDGPU::WaitEvent::getWaitEventMask().
| HWEventSet llvm::AMDGPU::getEventsFor | ( | const MachineInstr & | Inst, |
| const GCNSubtarget & | ST, | ||
| bool | IsExpertMode ) |
Inst Definition at line 196 of file AMDGPUHWEvents.cpp.
References getEventsForImpl(), getExpertSchedulingEventType(), and TII.
|
static |
Definition at line 113 of file AMDGPUHWEvents.cpp.
References assert(), llvm::AMDGPU::Exp::ET_PARAM0, llvm::AMDGPU::Exp::ET_PARAM31, llvm::AMDGPU::Exp::ET_POS0, llvm::AMDGPU::Exp::ET_POS_LAST, getMUBUFIsBufferInv(), llvm::MachineInstr::getOpcode(), getVmemHWEvent(), Imm, llvm::AMDGPU::HWEventSet::insert(), llvm::SIInstrInfo::isAtomicRet(), llvm::SIInstrInfo::isEXP(), llvm::SIInstrInfo::isGFX12CacheInvOrWBInst(), llvm::SIInstrInfo::isLDSDIR(), llvm::SIInstrInfo::isSBarrierSCCWrite(), llvm::SIInstrInfo::isVMEM(), llvm::MachineInstr::mayLoadOrStore(), llvm::MachineInstr::mayStore(), and TII.
Referenced by getEventsFor().
| unsigned llvm::AMDGPU::getExpcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Definition at line 1905 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits(), and llvm::AMDGPUInstPrinter::printSWaitCnt().
|
static |
Definition at line 31 of file AMDGPUHWEvents.cpp.
References llvm::MachineInstr::getOpcode(), isDPMACCInstruction(), llvm::SIInstrInfo::isLDSDMA(), and TII.
Referenced by getEventsFor().
| AMDGPUMCExpr::VariantKind llvm::AMDGPU::getExprKind | ( | const MCExpr * | Expr | ) |
Definition at line 773 of file AMDGPUMCExpr.cpp.
References llvm::AMDGPUMCExpr::AGVK_None, and llvm::dyn_cast().
| LLVM_READONLY int32_t llvm::AMDGPU::getFlatScratchInstSSfromSV | ( | uint32_t | Opcode | ) |
Opcode of an SV (VADDR) form. References LLVM_READONLY.
| LLVM_READONLY int32_t llvm::AMDGPU::getFlatScratchInstSTfromSS | ( | uint32_t | Opcode | ) |
Opcode of an SS (SADDR) form. References LLVM_READONLY.
Referenced by llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIRegisterInfo::eliminateFrameIndex(), and getFlatScratchSpillOpcode().
| LLVM_READONLY int32_t llvm::AMDGPU::getFlatScratchInstSVfromSS | ( | uint32_t | Opcode | ) |
Opcode of an SS (SADDR) form. References LLVM_READONLY.
Referenced by llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIRegisterInfo::eliminateFrameIndex(), getFlatScratchSpillOpcode(), and llvm::SIInstrInfo::moveFlatAddrToVGPR().
| LLVM_READONLY int32_t llvm::AMDGPU::getFlatScratchInstSVfromSVS | ( | uint32_t | Opcode | ) |
Opcode of an SVS (SADDR + VADDR) form. References LLVM_READONLY.
Referenced by llvm::SIRegisterInfo::eliminateFrameIndex().
|
inline |
Definition at line 42 of file AMDGPUCoExecSchedStrategy.h.
References DMA, DS, F, Fence, llvm_unreachable, MultiCycleVALU, NUM_FLAVORS, Other, SALU, SingleCycleVALU, TRANS, VMEM, and WMMA.
Referenced by llvm::AMDGPUCoExecSchedStrategy::dumpPickSummary(), and llvm::CandidateHeuristics::dumpRegionSummary().
|
inline |
Definition at line 70 of file AMDGPUCoExecSchedStrategy.h.
References DMA, DS, F, Fence, llvm_unreachable, MultiCycleVALU, NUM_FLAVORS, Other, SALU, SingleCycleVALU, TRANS, VMEM, and WMMA.
| LLVM_READONLY FPType llvm::AMDGPU::getFPDstSelType | ( | unsigned | Opc | ) |
Definition at line 857 of file AMDGPUBaseInfo.cpp.
References FP4, FP8, None, and Opc.
Referenced by getDstSelForwardingOperand().
| LLVM_READONLY const GcnBufferFormatInfo * llvm::AMDGPU::getGcnBufferFormatInfo | ( | uint8_t | BitsPerComp, |
| uint8_t | NumComponents, | ||
| uint8_t | NumFormat, | ||
| const MCSubtargetInfo & | STI ) |
Definition at line 3598 of file AMDGPUBaseInfo.cpp.
References isGFX10(), and isGFX11Plus().
Referenced by getBufferFormatWithCompCount().
| LLVM_READONLY const GcnBufferFormatInfo * llvm::AMDGPU::getGcnBufferFormatInfo | ( | uint8_t | Format, |
| const MCSubtargetInfo & | STI ) |
Definition at line 3609 of file AMDGPUBaseInfo.cpp.
References llvm::Format, isGFX10(), and isGFX11Plus().
| LLVM_READONLY int32_t llvm::AMDGPU::getGlobalSaddrOp | ( | uint32_t | Opcode | ) |
Opcode of a VADDR form. References LLVM_READONLY.
| LLVM_READONLY int32_t llvm::AMDGPU::getGlobalVaddrOp | ( | uint32_t | Opcode | ) |
Opcode of a SADDR form. References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::moveFlatAddrToVGPR().
Definition at line 2596 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_PS, and F.
Referenced by generateEndPgm().
| LLVM_READONLY bool llvm::AMDGPU::getHasMatrixScale | ( | unsigned | Opc | ) |
Definition at line 599 of file AMDGPUBaseInfo.cpp.
References Opc.
Definition at line 269 of file AMDGPUBaseInfo.cpp.
References AMDHSA_COV4, AMDHSA_COV5, AMDHSA_COV6, and llvm::AMDGPU::ImplicitArg::HOSTCALL_PTR_OFFSET.
| LLVM_READONLY int32_t llvm::AMDGPU::getIfAddr64Inst | ( | uint32_t | Opcode | ) |
Check if Opcode is an Addr64 opcode.
Opcode if it is an Addr64 opcode, otherwise -1. References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::legalizeOperands().
| const ImageDimIntrinsicInfo * llvm::AMDGPU::getImageDimIntrinsicByBaseOpcode | ( | unsigned | BaseOpcode, |
| unsigned | Dim ) |
Referenced by simplifyAMDGCNImageIntrinsic().
| const ImageDimIntrinsicInfo * llvm::AMDGPU::getImageDimIntrinsicInfo | ( | unsigned | Intr | ) |
Definition at line 2592 of file AMDGPUBaseInfo.cpp.
References F.
Referenced by llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
Definition at line 3230 of file AMDGPUBaseInfo.cpp.
References llvm::Literal, and llvm::Signed.
Referenced by getInlineEncodingV2F16(), getInlineEncodingV2I16(), getPKFMACF16InlineEncoding(), and isInlinableLiteralV216().
| LLVM_READNONE std::optional< unsigned > llvm::AMDGPU::getInlineEncodingV2BF16 | ( | uint32_t | Literal | ) |
Definition at line 3291 of file AMDGPUBaseInfo.cpp.
References llvm::Literal, and llvm::Signed.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), and isInlinableLiteralV2BF16().
| LLVM_READNONE std::optional< unsigned > llvm::AMDGPU::getInlineEncodingV2F16 | ( | uint32_t | Literal | ) |
Definition at line 3319 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV216(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), and isInlinableLiteralV2F16().
| LLVM_READNONE std::optional< unsigned > llvm::AMDGPU::getInlineEncodingV2I16 | ( | uint32_t | Literal | ) |
Definition at line 3285 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV216(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), and isInlinableLiteralV2I16().
| StringLiteral llvm::AMDGPU::getInstCounterName | ( | InstCounterType | T | ) |
Definition at line 19 of file AMDGPUWaitcntUtils.cpp.
References ASYNC_CNT, BVH_CNT, DS_CNT, EXP_CNT, KM_CNT, llvm_unreachable, LOAD_CNT, NUM_INST_CNTS, SAMPLE_CNT, STORE_CNT, T, TENSOR_CNT, VA_VDST, VM_VSRC, and X_CNT.
Referenced by llvm::AMDGPU::Waitcnt::print().
| std::optional< std::pair< unsigned, std::optional< unsigned > > > llvm::AMDGPU::getIntegerPairAttribute | ( | const Function & | F, |
| StringRef | Name, | ||
| bool | OnlyFirstRequired = false ) |
F's Name attribute in "first[,second]" format ("second" is optional unless OnlyFirstRequired is false).std::nullopt if attribute is not present.std::nullopt 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 1792 of file AMDGPUBaseInfo.cpp.
| std::pair< unsigned, unsigned > llvm::AMDGPU::getIntegerPairAttribute | ( | const Function & | F, |
| StringRef | Name, | ||
| std::pair< unsigned, unsigned > | 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 1783 of file AMDGPUBaseInfo.cpp.
References llvm::Default, F, and getIntegerPairAttribute().
Referenced by llvm::AMDGPUMachineFunctionInfo::AMDGPUMachineFunctionInfo(), llvm::AMDGPUSubtarget::getFlatWorkGroupSizes(), getIntegerPairAttribute(), llvm::GCNSubtarget::getMaxNumVectorRegs(), llvm::AMDGPUSubtarget::getWavesPerEU(), llvm::AMDGPUSubtarget::getWavesPerEU(), llvm::SIMachineFunctionInfo::mayUseAGPRs(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
| std::optional< SmallVector< unsigned > > llvm::AMDGPU::getIntegerVecAttribute | ( | const Function & | F, |
| StringRef | Name, | ||
| unsigned | Size ) |
Similar to the function above, but returns std::nullopt if any error occurs.
Definition at line 1827 of file AMDGPUBaseInfo.cpp.
References A(), assert(), llvm::StringRef::empty(), F, Size, llvm::StringRef::split(), and llvm::utostr().
| SmallVector< unsigned > llvm::AMDGPU::getIntegerVecAttribute | ( | const Function & | F, |
| StringRef | Name, | ||
| unsigned | Size, | ||
| unsigned | DefaultVal ) |
F's Name attribute. Size, with all elements set to DefaultVal, if any error occurs. The corresponding error will also be emitted. Definition at line 1818 of file AMDGPUBaseInfo.cpp.
References F, getIntegerVecAttribute(), and Size.
Referenced by llvm::AMDGPU::ClusterDimsAttr::get(), getIntegerVecAttribute(), llvm::AMDGPUSubtarget::getMaxNumWorkGroups(), and processUse().
| void llvm::AMDGPU::getInterestingMemoryOperands | ( | Module & | M, |
| Instruction * | I, | ||
| SmallVectorImpl< InterestingMemoryOperand > & | Interesting ) |
Get all the memory operands from the instruction that needs to be instrumented.
Definition at line 221 of file AMDGPUAsanInstrumentation.cpp.
References llvm::cast(), DL, llvm::dyn_cast(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::VectorType::get(), llvm::Value::getPointerAlignment(), llvm::Value::getType(), I, llvm::isa(), llvm::Align::value(), and llvm::MaybeAlign::valueOrOne().
| Intrinsic::ID llvm::AMDGPU::getIntrinsicID | ( | const MachineInstr & | I | ) |
Return the intrinsic ID for opcodes with the G_AMDGPU_INTRIN_ prefix.
These opcodes have an Intrinsic::ID operand similar to a GIntrinsic. But they are not actual instances of GIntrinsics, so we cannot use GIntrinsic::getIntrinsicID() on them.
Definition at line 25 of file AMDGPUInstrInfo.cpp.
References I.
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), and llvm::AMDGPUInstructionSelector::select().
| AMDGPU::IsaVersion llvm::AMDGPU::getIsaVersion | ( | StringRef | GPU | ) |
Definition at line 113 of file AMDGPUTargetParser.cpp.
References GK_NONE, and parseArchAMDGCN().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), llvm::AMDGPU::DepCtr::encodeFieldHoldCnt(), llvm::AMDGPU::IsaInfo::getAddressableNumSGPRs(), llvm::AMDGPU::MCKernelDescriptor::getDefaultAmdhsaKernelDescriptor(), llvm::AMDGPU::IsaInfo::getMaxNumSGPRs(), llvm::AMDGPU::IsaInfo::getMinNumSGPRs(), getNSAMaxSize(), llvm::AMDGPU::IsaInfo::getNumExtraSGPRs(), llvm::AMDGPU::IsaInfo::getSGPRAllocGranule(), llvm::AMDGPU::IsaInfo::getTotalNumSGPRs(), initDefaultAMDKernelCodeT(), llvm::AMDGPU::IsaInfo::isSGPROccupancyLimited(), and llvm::AMDGPUInstPrinter::printSWaitCnt().
| unsigned llvm::AMDGPU::getKmcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support KMcnt Definition at line 1917 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
| unsigned llvm::AMDGPU::getLdsDwGranularity | ( | const MCSubtargetInfo & | ST | ) |
This is used to calculate the lds size encoded for PAL metadata 3.0+ which must be defined in terms of bytes. Definition at line 3862 of file AMDGPUBaseInfo.cpp.
Referenced by EmitPALMetadataCommon().
| unsigned llvm::AMDGPU::getLgkmcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Definition at line 1909 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits(), and llvm::AMDGPUInstPrinter::printSWaitCnt().
Definition at line 767 of file AMDGPUMCExpr.cpp.
References assert(), llvm::cast(), and isLitExpr().
| unsigned llvm::AMDGPU::getLoadcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support LOADcnt Definition at line 1893 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
| LLVM_READONLY bool llvm::AMDGPU::getMAIIsDGEMM | ( | unsigned | Opc | ) |
Returns true if MAI operation is a double precision GEMM.
Definition at line 584 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::SIInstrInfo::isDGEMM().
| LLVM_READONLY bool llvm::AMDGPU::getMAIIsGFX940XDL | ( | unsigned | Opc | ) |
Definition at line 589 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::SIInstrInfo::isXDL().
| LLVM_READONLY int llvm::AMDGPU::getMaskedMIMGOp | ( | unsigned | Opc, |
| unsigned | NewChannels ) |
Definition at line 326 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MIMGInfo::BaseOpcode, getMIMGInfo(), llvm::AMDGPU::MIMGInfo::MIMGEncoding, Opc, llvm::AMDGPU::MIMGInfo::Opcode, and llvm::AMDGPU::MIMGInfo::VAddrDwords.
| unsigned llvm::AMDGPU::getMaxNumUserSGPRs | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2654 of file AMDGPUBaseInfo.cpp.
References isGFX1250Plus().
Referenced by llvm::GCNUserSGPRUsageInfo::allocKernargPreloadSGPRs(), getComputePGMRSrc2Reg(), llvm::GCNSubtarget::getMaxNumUserSGPRs(), and llvm::GCNUserSGPRUsageInfo::getNumFreeUserSGPRs().
| LLVM_READONLY int32_t llvm::AMDGPU::getMCOpcode | ( | uint32_t | Opcode, |
| unsigned | Gen ) |
Definition at line 887 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::SIInstrInfo::pseudoToMCOpcode().
| MCRegister llvm::AMDGPU::getMCReg | ( | MCRegister | Reg, |
| const MCSubtargetInfo & | STI ) |
If Reg is a pseudo reg, return the correct hardware register given STI otherwise return Reg.
Definition at line 2887 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::getArch(), llvm::MCSubtargetInfo::getTargetTriple(), MAP_REG2REG, llvm::Triple::r600, and Reg.
Referenced by llvm::AMDGPUDisassembler::createRegOperand(), and llvm::AMDGPUMCInstLower::lowerOperand().
| LLVM_READONLY const MFMA_F8F6F4_Info * llvm::AMDGPU::getMFMA_F8F6F4_WithFormatArgs | ( | unsigned | CBSZ, |
| unsigned | BLGP, | ||
| unsigned | F8F8Opcode ) |
Definition at line 620 of file AMDGPUBaseInfo.cpp.
References mfmaScaleF8F6F4FormatToNumRegs().
Referenced by llvm::AMDGPUDisassembler::convertMAIInst().
| LLVM_READONLY int32_t llvm::AMDGPU::getMFMAEarlyClobberOp | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::pseudoToMCOpcode().
| LLVM_READONLY int32_t llvm::AMDGPU::getMFMASrcCVDstAGPROp | ( | uint32_t | Opcode | ) |
Opcode of an MFMA which uses VGPRs for srcC/vdst. References LLVM_READONLY.
| LLVM_READONLY const MIMGBaseOpcodeInfo * llvm::AMDGPU::getMIMGBaseOpcode | ( | unsigned | Opc | ) |
Definition at line 321 of file AMDGPUBaseInfo.cpp.
References getMIMGBaseOpcodeInfo(), getMIMGInfo(), and Opc.
| LLVM_READONLY const MIMGBaseOpcodeInfo * llvm::AMDGPU::getMIMGBaseOpcodeInfo | ( | unsigned | BaseOpcode | ) |
| LLVM_READONLY const MIMGBiasMappingInfo * llvm::AMDGPU::getMIMGBiasMappingInfo | ( | unsigned | Bias | ) |
References LLVM_READONLY.
Referenced by simplifyAMDGCNImageIntrinsic().
| LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfo | ( | unsigned | DimEnum | ) |
References LLVM_READONLY.
| LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfoByAsmSuffix | ( | StringRef | AsmSuffix | ) |
| LLVM_READONLY const MIMGDimInfo * llvm::AMDGPU::getMIMGDimInfoByEncoding | ( | uint8_t | DimEnc | ) |
References LLVM_READONLY.
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst(), and llvm::SIInstrInfo::verifyInstruction().
| LLVM_READONLY const MIMGG16MappingInfo * llvm::AMDGPU::getMIMGG16MappingInfo | ( | unsigned | G | ) |
References G, LLVM_READONLY, and Opc.
| LLVM_READONLY const MIMGInfo * llvm::AMDGPU::getMIMGInfo | ( | unsigned | Opc | ) |
References LLVM_READONLY, and Opc.
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst(), getMaskedMIMGOp(), getMIMGBaseOpcode(), getVmemHWEvent(), and llvm::SIInstrInfo::verifyInstruction().
| LLVM_READONLY const MIMGLZMappingInfo * llvm::AMDGPU::getMIMGLZMappingInfo | ( | unsigned | L | ) |
Referenced by simplifyAMDGCNImageIntrinsic().
| LLVM_READONLY const MIMGMIPMappingInfo * llvm::AMDGPU::getMIMGMIPMappingInfo | ( | unsigned | MIP | ) |
References LLVM_READONLY.
Referenced by simplifyAMDGCNImageIntrinsic().
| LLVM_READONLY const MIMGOffsetMappingInfo * llvm::AMDGPU::getMIMGOffsetMappingInfo | ( | unsigned | Offset | ) |
References LLVM_READONLY, and llvm::Offset.
Referenced by simplifyAMDGCNImageIntrinsic().
| LLVM_READONLY int llvm::AMDGPU::getMIMGOpcode | ( | unsigned | BaseOpcode, |
| unsigned | MIMGEncoding, | ||
| unsigned | VDataDwords, | ||
| unsigned | VAddrDwords ) |
Definition at line 314 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst(), llvm::AMDGPULegalizerInfo::legalizeBVHDualOrBVH8IntersectRayIntrinsic(), and llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic().
|
static |
Definition at line 24 of file AMDGPUAsanInstrumentation.cpp.
References getRedzoneSizeForScale().
Referenced by getRedzoneSizeForGlobal().
| LLVM_READONLY int llvm::AMDGPU::getMTBUFBaseOpcode | ( | unsigned | Opc | ) |
Definition at line 486 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY int llvm::AMDGPU::getMTBUFElements | ( | unsigned | Opc | ) |
Definition at line 497 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMTBUFHasSoffset | ( | unsigned | Opc | ) |
Definition at line 512 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMTBUFHasSrsrc | ( | unsigned | Opc | ) |
Definition at line 507 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMTBUFHasVAddr | ( | unsigned | Opc | ) |
Definition at line 502 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY int llvm::AMDGPU::getMTBUFOpcode | ( | unsigned | BaseOpc, |
| unsigned | Elements ) |
Definition at line 491 of file AMDGPUBaseInfo.cpp.
| LLVM_READONLY int llvm::AMDGPU::getMUBUFBaseOpcode | ( | unsigned | Opc | ) |
Definition at line 517 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY int llvm::AMDGPU::getMUBUFElements | ( | unsigned | Opc | ) |
Definition at line 528 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasSoffset | ( | unsigned | Opc | ) |
Definition at line 543 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasSrsrc | ( | unsigned | Opc | ) |
Definition at line 538 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMUBUFHasVAddr | ( | unsigned | Opc | ) |
Definition at line 533 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getMUBUFIsBufferInv | ( | unsigned | Opc | ) |
Definition at line 548 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by getEventsForImpl().
| LLVM_READONLY int llvm::AMDGPU::getMUBUFOpcode | ( | unsigned | BaseOpc, |
| unsigned | Elements ) |
Definition at line 522 of file AMDGPUBaseInfo.cpp.
| LLVM_READONLY bool llvm::AMDGPU::getMUBUFTfe | ( | unsigned | Opc | ) |
Definition at line 553 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::SITargetLowering::AddMemOpInit().
Definition at line 256 of file AMDGPUBaseInfo.cpp.
References AMDHSA_COV4, AMDHSA_COV5, AMDHSA_COV6, and llvm::AMDGPU::ImplicitArg::MULTIGRID_SYNC_ARG_OFFSET.
|
static |
Map from the encoding of a sendmsg/hwreg asm operand to it's name.
Definition at line 25 of file AMDGPUAsmUtils.cpp.
References llvm::First, and N.
Referenced by llvm::AMDGPU::Hwreg::getHwreg(), llvm::AMDGPU::SendMsg::getMsgName(), llvm::AMDGPU::SendMsg::getMsgOpName(), and llvm::AMDGPU::WaitEvent::getWaitEventMaskName().
| unsigned llvm::AMDGPU::getNSAMaxSize | ( | const MCSubtargetInfo & | STI, |
| bool | HasSampler ) |
Definition at line 2643 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getCPU(), getIsaVersion(), and llvm::Version.
Referenced by llvm::GCNSubtarget::getNSAMaxSize().
|
constexpr |
Get the null pointer value for the given address space.
Definition at line 178 of file AMDGPUAddrSpace.h.
Referenced by isKnownNonNull(), isKnownNonNull(), isPtrKnownNeverNull(), and llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast().
| unsigned llvm::AMDGPU::getNumFlatOffsetBits | ( | const MCSubtargetInfo & | ST | ) |
For pre-GFX12 FLAT instructions the offset must be positive; MSB is ignored and forced to zero.
Definition at line 3560 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::SIInstrInfo::isLegalFLATOffset(), and llvm::SIInstrInfo::splitFlatOffset().
|
inline |
Definition at line 1718 of file AMDGPUBaseInfo.h.
References getOperandSize().
|
inline |
Definition at line 1671 of file AMDGPUBaseInfo.h.
References llvm_unreachable, OPERAND_INLINE_SPLIT_BARRIER_INT32, OPERAND_KIMM16, OPERAND_KIMM32, OPERAND_KIMM64, OPERAND_REG_IMM_BF16, 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_IMM_NOINLINE_V2FP16, OPERAND_REG_IMM_V2BF16, OPERAND_REG_IMM_V2FP16, OPERAND_REG_IMM_V2FP16_SPLAT, OPERAND_REG_IMM_V2FP32, OPERAND_REG_IMM_V2FP64, OPERAND_REG_IMM_V2INT16, OPERAND_REG_IMM_V2INT32, OPERAND_REG_IMM_V2INT64, OPERAND_REG_INLINE_AC_FP32, OPERAND_REG_INLINE_AC_FP64, OPERAND_REG_INLINE_AC_INT32, OPERAND_REG_INLINE_C_BF16, 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_V2BF16, OPERAND_REG_INLINE_C_V2FP16, and OPERAND_REG_INLINE_C_V2INT16.
Referenced by getOperandSize().
| LLVM_READNONE std::optional< unsigned > llvm::AMDGPU::getPKFMACF16InlineEncoding | ( | uint32_t | Literal, |
| bool | IsGFX11Plus ) |
Definition at line 3327 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV216(), llvm::Hi, llvm::Literal, llvm::Lo, and llvm::Signed.
Referenced by isPKFMACF16InlineConstant().
|
inline |
Definition at line 131 of file AMDGPUCoExecSchedStrategy.h.
References CritResourceBalance, CritResourceDep, llvm_unreachable, None, and NUM_REASONS.
Referenced by llvm::AMDGPUCoExecSchedStrategy::dumpPickSummary().
Given SizeInBytes of the Value to be instrunmented, Returns the redzone size corresponding to it.
Definition at line 28 of file AMDGPUAsanInstrumentation.cpp.
References assert(), and getMinRedzoneSizeForGlobal().
|
static |
Definition at line 18 of file AMDGPUAsanInstrumentation.cpp.
Referenced by getMinRedzoneSizeForGlobal().
| unsigned llvm::AMDGPU::getRegBitWidth | ( | const MCRegisterClass & | RC | ) |
Get the size in bits of a register from the register class RC.
Definition at line 3145 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterClass::getID(), and getRegBitWidth().
| unsigned llvm::AMDGPU::getRegBitWidth | ( | const TargetRegisterClass & | RC | ) |
Get the size in bits of a register from the register class RC.
Definition at line 3581 of file SIRegisterInfo.cpp.
References llvm::TargetRegisterClass::getID(), and getRegBitWidth().
Referenced by llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIInstrInfo::canInsertSelect(), getRegBitWidth(), getRegBitWidth(), llvm::SIRegisterInfo::getRegSplitParts(), and llvm::SIInstrInfo::isLegalRegOperand().
Get the size in bits of a register from the register class RC.
Definition at line 2987 of file AMDGPUBaseInfo.cpp.
References llvm_unreachable.
| unsigned llvm::AMDGPU::getSamplecntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support SAMPLEcnt Definition at line 1897 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
Definition at line 590 of file AMDGPUTargetMachine.cpp.
References AMDGPUSchedStrategy, F, llvm::Attribute::getValueAsString(), and llvm::Attribute::isValid().
Referenced by llvm::GCNTargetMachine::createMachineScheduler(), and llvm::GCNSubtarget::overrideSchedPolicy().
| LLVM_READONLY int32_t llvm::AMDGPU::getSDWAOp | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Deduce the least significant bit aligned shift and mask values for a binary Complement Value (as they're defined in SIDefines.h as C_*) as a returned pair<shift, mask>.
That is to say Value == ~(mask << shift)
For example, given C_00B848_FWD_PROGRESS (i.e., 0x7FFFFFFF) from SIDefines.h, this will return the pair as (31,1).
Definition at line 27 of file SIDefinesUtils.h.
| LLVM_READONLY bool llvm::AMDGPU::getSMEMIsBuffer | ( | unsigned | Opc | ) |
Definition at line 558 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::AMDGPUDisassembler::isBufferInstruction(), and supportsScaleOffset().
| std::optional< int64_t > llvm::AMDGPU::getSMRDEncodedLiteralOffset32 | ( | const MCSubtargetInfo & | ST, |
| int64_t | ByteOffset ) |
Definition at line 3550 of file AMDGPUBaseInfo.cpp.
References convertSMRDOffsetUnits(), isCI(), isDwordAligned(), and llvm::isUInt().
| std::optional< int64_t > llvm::AMDGPU::getSMRDEncodedOffset | ( | const MCSubtargetInfo & | ST, |
| int64_t | ByteOffset, | ||
| bool | IsBuffer, | ||
| bool | HasSOffset = false ) |
ByteOffset in the SMRD offset field, or std::nullopt if it won't fit. On GFX9 and GFX10 S_LOAD instructions have a signed offset, on other subtargets it is unsigned. S_BUFFER has an unsigned offset for all subtargets. Definition at line 3521 of file AMDGPUBaseInfo.cpp.
References assert(), convertSMRDOffsetUnits(), hasSMEMByteOffset(), hasSMRDSignedImmOffset(), isDwordAligned(), isGFX12Plus(), llvm::isInt(), and isLegalSMRDEncodedUnsignedOffset().
| LLVM_READONLY int32_t llvm::AMDGPU::getSOPKOp | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
| LLVM_READONLY int32_t llvm::AMDGPU::getSOPPWithRelaxation | ( | uint32_t | Opcode | ) |
|
inlinestatic |
Definition at line 150 of file AMDGPUMCExpr.h.
References llvm::MCSymbolRefExpr::getKind().
Referenced by needsPCRel().
| unsigned llvm::AMDGPU::getStorecntBitMask | ( | const IsaVersion & | Version | ) |
Version. returns 0 for versions that do not support STOREcnt or VScnt. STOREcnt and VScnt are the same counter, the name used depends on the ISA version. Definition at line 1929 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
|
static |
Definition at line 59 of file AMDGPUMemoryUtils.cpp.
References llvm::dyn_cast(), and llvm::GlobalValue::getValueType().
Referenced by isNamedBarrier().
| LLVM_READONLY unsigned llvm::AMDGPU::getTemporalHintType | ( | const MCInstrDesc | TID | ) |
Definition at line 837 of file AMDGPUBaseInfo.cpp.
References llvm::MCInstrDesc::getOpcode(), isAsyncStore(), llvm::SIInstrFlags::IsAtomicNoRet, llvm::SIInstrFlags::IsAtomicRet, isTensorStore(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), Opc, llvm::AMDGPU::CPol::TH_TYPE_ATOMIC, llvm::AMDGPU::CPol::TH_TYPE_LOAD, llvm::AMDGPU::CPol::TH_TYPE_STORE, and llvm::MCInstrDesc::TSFlags.
| int llvm::AMDGPU::getTotalNumVGPRs | ( | bool | has90AInsts, |
| int32_t | ArgNumAGPR, | ||
| int32_t | ArgNumVGPR ) |
Definition at line 2806 of file AMDGPUBaseInfo.cpp.
References llvm::alignTo().
| GVUsesInfoTy llvm::AMDGPU::getTransitiveUsesOfGV | ( | const CallGraph & | CG, |
| Module & | M, | ||
| function_ref< bool(const GlobalVariable &)> | Filter ) |
Collects all uses of Global Variables in M using getUsesOfGVByFunction.
| CG | M Call Graph |
| M | Module |
| Filter | Filter for getUsesOfGVByFunction - only GVs for which the filter returns true will be considered. |
Definition at line 145 of file AMDGPUMemoryUtils.cpp.
References assert(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::contains(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), F, llvm::Filter, getUsesOfGVByFunction(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), llvm::SmallPtrSetImpl< PtrType >::insert(), isKernel(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::set_union().
Referenced by getTransitiveUsesOfLDSForLowering().
| GVUsesInfoTy llvm::AMDGPU::getTransitiveUsesOfLDSForLowering | ( | const CallGraph & | CG, |
| Module & | M ) |
Collects all uses of LDS Global Variables in M using getUsesOfGVByFunction, with isLDSVariableToLower as the filter.
| CG | M Call Graph |
| M | Module |
Definition at line 277 of file AMDGPUMemoryUtils.cpp.
References llvm::AMDGPU::GVUsesInfoTy::DirectAccess, getTransitiveUsesOfGV(), llvm::AMDGPU::GVUsesInfoTy::IndirectAccess, isDynamicLDS(), isLDSVariableToLower(), isNamedBarrier(), and llvm::reportFatalUsageError().
| void llvm::AMDGPU::getUsesOfGVByFunction | ( | const CallGraph & | CG, |
| Module & | M, | ||
| function_ref< bool(const GlobalVariable &)> | Filter, | ||
| FunctionVariableMap & | Kernels, | ||
| FunctionVariableMap & | Functions ) |
Finds uses of Global Variables on a per-function basis.
| CG | M Call Graph |
| M | Module |
| Filter | Function that returns true for GVs that need to be considered. |
| Kernels[out] | Maps kernels to global variables used by that kernel. |
| Functions[out] | Maps functions to global variables used by that function. |
Definition at line 123 of file AMDGPUMemoryUtils.cpp.
References llvm::dyn_cast(), F, llvm::Filter, I, isKernel(), and llvm::Value::users().
Referenced by getTransitiveUsesOfGV().
| LLVM_READONLY int32_t llvm::AMDGPU::getVCMPXNoSDstOp | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
| LLVM_READONLY int32_t llvm::AMDGPU::getVCMPXOpFromVCMP | ( | uint32_t | Opcode | ) |
| unsigned llvm::AMDGPU::getVGPREncodingMSBs | ( | MCRegister | Reg, |
| const MCRegisterInfo & | MRI ) |
Reg. Definition at line 3637 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterInfo::getEncodingValue(), Reg, and llvm::AMDGPU::HWEncoding::REG_IDX_MASK.
Referenced by llvm::AMDGPU::VOPD::InstInfo::getInvalidCompOperandIndex().
| std::pair< const AMDGPU::OpName *, const AMDGPU::OpName * > llvm::AMDGPU::getVGPRLoweringOperandTables | ( | const MCInstrDesc & | Desc | ) |
Definition at line 3701 of file AMDGPUBaseInfo.cpp.
References assert(), llvm::SIInstrFlags::DPP, llvm::SIInstrFlags::DS, llvm::SIInstrFlags::EXP, llvm::SIInstrFlags::FLAT, getVOPDComponents(), isVOPD(), llvm_unreachable, llvm::SIInstrFlags::MIMG, llvm::SIInstrFlags::MTBUF, llvm::SIInstrFlags::MUBUF, llvm::SIInstrFlags::VIMAGE, llvm::SIInstrFlags::VOP1, llvm::SIInstrFlags::VOP2, llvm::SIInstrFlags::VOP3, llvm::SIInstrFlags::VOP3P, llvm::SIInstrFlags::VOPC, and llvm::SIInstrFlags::VSAMPLE.
Referenced by getRegFromMIA().
| const MCRegisterClass * llvm::AMDGPU::getVGPRPhysRegClass | ( | MCRegister | Reg, |
| const MCRegisterInfo & | MRI ) |
Reg if it is a VGPR or nullptr otherwise. Definition at line 3616 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterClass::contains(), llvm::MCRegisterInfo::getRegClass(), and Reg.
Referenced by getRegForPrinting(), and getVGPRWithMSBs().
| MCRegister llvm::AMDGPU::getVGPRWithMSBs | ( | MCRegister | Reg, |
| unsigned | MSBs, | ||
| const MCRegisterInfo & | MRI ) |
If Reg is a low VGPR return a corresponding high VGPR with MSBs set.
Definition at line 3643 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterInfo::getEncodingValue(), llvm::MCRegisterClass::getID(), llvm::MCRegisterClass::getRegister(), getVGPRPhysRegClass(), llvm::AMDGPU::HWEncoding::IS_HI16, Reg, and llvm::AMDGPU::HWEncoding::REG_IDX_MASK.
Referenced by getRegFromMIA().
| unsigned llvm::AMDGPU::getVmcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Definition at line 1887 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits(), and llvm::AMDGPUInstPrinter::printSWaitCnt().
|
static |
Definition at line 67 of file AMDGPUHWEvents.cpp.
References assert(), llvm::AMDGPU::MIMGBaseOpcodeInfo::BVH, getMIMGBaseOpcodeInfo(), getMIMGInfo(), llvm::MachineInstr::getOpcode(), llvm::SIInstrInfo::isAtomicNoRet(), llvm::SIInstrInfo::isFLAT(), llvm::SIInstrInfo::isImage(), llvm::SIInstrInfo::isVMEM(), llvm::SIInstrInfo::isVSAMPLE(), llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), llvm::SIInstrInfo::mayWriteLDSThroughDMA(), llvm::AMDGPU::MIMGBaseOpcodeInfo::MSAA, llvm::AMDGPU::MIMGBaseOpcodeInfo::Sampler, and TII.
Referenced by getEventsForImpl().
| LLVM_READONLY bool llvm::AMDGPU::getVOP1IsSingle | ( | unsigned | Opc | ) |
Definition at line 563 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getVOP2IsSingle | ( | unsigned | Opc | ) |
Definition at line 568 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::getVOP3IsSingle | ( | unsigned | Opc | ) |
Definition at line 573 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY std::pair< unsigned, unsigned > llvm::AMDGPU::getVOPDComponents | ( | unsigned | VOPDOpcode | ) |
Definition at line 915 of file AMDGPUBaseInfo.cpp.
References assert().
Referenced by getVGPRLoweringOperandTables(), and getVOPDInstInfo().
| LLVM_READONLY unsigned llvm::AMDGPU::getVOPDEncodingFamily | ( | const MCSubtargetInfo & | ST | ) |
ST. Definition at line 682 of file AMDGPUBaseInfo.cpp.
References llvm::SIEncodingFamily::GFX11, llvm::SIEncodingFamily::GFX1170, llvm::SIEncodingFamily::GFX12, llvm::SIEncodingFamily::GFX1250, llvm::SIEncodingFamily::GFX13, and llvm_unreachable.
Referenced by shouldScheduleVOPDAdjacent(), and llvm::tryMatchVOPDPair().
| LLVM_READONLY int llvm::AMDGPU::getVOPDFull | ( | unsigned | OpX, |
| unsigned | OpY, | ||
| unsigned | EncodingFamily, | ||
| bool | VOPD3 ) |
Definition at line 906 of file AMDGPUBaseInfo.cpp.
References getBitOp2().
| LLVM_READONLY VOPD::InstInfo llvm::AMDGPU::getVOPDInstInfo | ( | const MCInstrDesc & | OpX, |
| const MCInstrDesc & | OpY ) |
Definition at line 1085 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::checkVOPDRegConstraints().
| LLVM_READONLY VOPD::InstInfo llvm::AMDGPU::getVOPDInstInfo | ( | unsigned | VOPDOpcode, |
| const MCInstrInfo * | InstrInfo ) |
Definition at line 1089 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::VOPD::COMPONENT_X, getVOPDComponents(), and llvm::SIInstrFlags::VOPD3.
| LLVM_READONLY unsigned llvm::AMDGPU::getVOPDOpcode | ( | unsigned | Opc, |
| bool | VOPD3 ) |
Definition at line 729 of file AMDGPUBaseInfo.cpp.
References getBitOp2(), and Opc.
|
staticconstexpr |
Definition at line 696 of file AMDGPUBaseInfo.cpp.
Referenced by buildVOPDXYLookup(), and getCanBeVOPD().
| LLVM_READONLY int32_t llvm::AMDGPU::getVOPe32 | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SIInstrInfo::hasVALU32BitEncoding().
| LLVM_READONLY int32_t llvm::AMDGPU::getVOPe64 | ( | uint32_t | Opcode | ) |
References LLVM_READONLY.
Referenced by llvm::SITargetLowering::EmitInstrWithCustomInserter().
| unsigned llvm::AMDGPU::getWaitcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Definition at line 1933 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by encodeWaitcnt().
| LLVM_READONLY const MFMA_F8F6F4_Info * llvm::AMDGPU::getWMMA_F8F6F4_WithFormatArgs | ( | unsigned | FmtA, |
| unsigned | FmtB, | ||
| unsigned | F8F8Opcode ) |
Definition at line 643 of file AMDGPUBaseInfo.cpp.
References wmmaScaleF8F6F4FormatToNumRegs().
Referenced by llvm::AMDGPUDisassembler::convertWMMAInst().
| LLVM_READONLY bool llvm::AMDGPU::getWMMAIsXDL | ( | unsigned | Opc | ) |
Definition at line 594 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::SIInstrInfo::isXDLWMMA().
| unsigned llvm::AMDGPU::getXcntBitMask | ( | const IsaVersion & | Version | ) |
Version. Returns 0 for versions that do not support Xcnt. Definition at line 1921 of file AMDGPUBaseInfo.cpp.
References llvm::Version.
Referenced by llvm::AMDGPU::HardwareLimits::HardwareLimits().
| bool llvm::AMDGPU::hasA16 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2626 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
| bool llvm::AMDGPU::hasAny64BitVGPROperands | ( | const MCInstrDesc & | OpDesc, |
| const MCInstrInfo & | MII, | ||
| const MCSubtargetInfo & | ST ) |
Definition at line 3813 of file AMDGPUBaseInfo.cpp.
References llvm::MCInstrDesc::getOpcode(), llvm::MCInstrInfo::getOpRegClassID(), llvm::MCSubtargetInfo::HwMode_RegInfo, and llvm::MCInstrDesc::operands().
Referenced by isDPALU_DPP().
| bool llvm::AMDGPU::hasAny64BitVGPROperands | ( | const MCInstrDesc & | OpDesc, |
| const MCSubtargetInfo & | ST ) |
| bool llvm::AMDGPU::hasArchitectedFlatScratch | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2786 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor().
| bool llvm::AMDGPU::hasDPPSrc1SGPR | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2798 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
| bool llvm::AMDGPU::hasG16 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2630 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst().
| bool llvm::AMDGPU::hasGDS | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2639 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUDisassembler::getInstruction().
| bool llvm::AMDGPU::hasGFX10_3Insts | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2770 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPU::IsaInfo::getMaxWavesPerEU(), and llvm::AMDGPU::IsaInfo::getVGPRAllocGranule().
| unsigned llvm::AMDGPU::hasKernargPreload | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2802 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), and llvm::AMDGPUDisassembler::hasKernargPreload().
| bool llvm::AMDGPU::hasMAIInsts | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2790 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
| bool llvm::AMDGPU::hasMIMG_R128 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2621 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
|
inline |
Definition at line 474 of file AMDGPUBaseInfo.h.
Referenced by llvm::SIInstrInfo::areLoadsFromSameBasePtr(), llvm::checkVOPDRegConstraints(), llvm::AMDGPU::VOPD::ComponentProps::ComponentProps(), llvm::AMDGPUDisassembler::convertDPP8Inst(), llvm::AMDGPUDisassembler::convertSDWAInst(), llvm::AMDGPUDisassembler::convertVOP3DPPInst(), llvm::AMDGPUDisassembler::convertVOP3PDPPInst(), llvm::AMDGPUDisassembler::convertVOPC64DPPInst(), llvm::AMDGPUDisassembler::convertVOPCDPPInst(), cvtVOP3DstOpSelOnly(), llvm::SIRegisterInfo::eliminateFrameIndex(), getDstSelForwardingOperand(), getFlatScratchSpillOpcode(), llvm::AMDGPUDisassembler::getInstruction(), llvm::SIInstrInfo::hasModifiers(), llvm::AMDGPUDisassembler::isMacDPP(), isVOPD(), llvm::AMDGPUMCInstLower::lowerT16D16Helper(), llvm::SIInstrInfo::moveToVALUImpl(), llvm::SITargetLowering::PostISelFolding(), and supportsScaleOffset().
| bool llvm::AMDGPU::hasPackedD16 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2634 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature(), isCI(), and isSI().
Referenced by llvm::AMDGPUDisassembler::convertMIMGInst().
|
static |
Definition at line 3484 of file AMDGPUBaseInfo.cpp.
References isGCN3Encoding(), and isGFX10Plus().
Referenced by convertSMRDOffsetUnits(), getSMRDEncodedOffset(), and isLegalSMRDEncodedUnsignedOffset().
| bool llvm::AMDGPU::hasSMRDSignedImmOffset | ( | const MCSubtargetInfo & | ST | ) |
Definition at line 204 of file AMDGPUBaseInfo.cpp.
References isGFX9Plus().
Referenced by getSMRDEncodedOffset(), and isLegalSMRDEncodedSignedOffset().
Checks if Val is inside MD, a !range-like metadata.
Definition at line 1864 of file AMDGPUBaseInfo.cpp.
References assert(), E(), llvm::mdconst::extract(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), High, I, and llvm::Low.
Referenced by flatInstrMayAccessPrivate().
| bool llvm::AMDGPU::hasVOPD | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2794 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUDisassembler::decodeMandatoryLiteralConstant().
| bool llvm::AMDGPU::hasXNACK | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2617 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
|
inline |
Return an iterator over all events between FIRST_WAIT_EVENT and MaxEvent (exclusive, default value yields an enumeration over all counters).
Definition at line 55 of file AMDGPUHWEvents.h.
References llvm::enum_seq().
Referenced by llvm::AMDGPU::HWEventSet::print().
| void llvm::AMDGPU::initDefaultAMDKernelCodeT | ( | AMDGPUMCKernelCodeT & | KernelCode, |
| const MCSubtargetInfo & | STI ) |
Definition at line 1691 of file AMDGPUBaseInfo.cpp.
References AMD_CODE_PROPERTY_ENABLE_WAVEFRONT_SIZE32, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_kernel_code_version_major, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_kernel_code_version_minor, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_kind, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_major, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_minor, llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_stepping, llvm::AMDGPU::AMDGPUMCKernelCodeT::call_convention, llvm::AMDGPU::AMDGPUMCKernelCodeT::code_properties, llvm::AMDGPU::AMDGPUMCKernelCodeT::compute_pgm_resource_registers, llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::getFeatureBits(), getIsaVersion(), llvm::AMDGPU::AMDGPUMCKernelCodeT::group_segment_alignment, llvm::AMDGPU::AMDGPUMCKernelCodeT::kernarg_segment_alignment, llvm::AMDGPU::AMDGPUMCKernelCodeT::kernel_code_entry_byte_offset, llvm::AMDGPU::AMDGPUMCKernelCodeT::private_segment_alignment, S_00B848_FWD_PROGRESS, S_00B848_MEM_ORDERED, S_00B848_WGP_MODE, llvm::FeatureBitset::test(), llvm::Version, and llvm::AMDGPU::AMDGPUMCKernelCodeT::wavefront_size.
Referenced by llvm::AMDGPU::AMDGPUMCKernelCodeT::initDefault().
| iota_range< InstCounterType > llvm::AMDGPU::inst_counter_types | ( | InstCounterType | MaxCounter | ) |
Definition at line 15 of file AMDGPUWaitcntUtils.cpp.
References llvm::enum_seq(), and LOAD_CNT.
Referenced by llvm::AMDGPU::Waitcnt::combined(), llvm::AMDGPU::Waitcnt::hasWaitExceptStoreCnt(), and llvm::AMDGPU::Waitcnt::print().
| void llvm::AMDGPU::instrumentAddress | ( | Module & | M, |
| IRBuilder<> & | IRB, | ||
| Instruction * | OrigIns, | ||
| Instruction * | InsertBefore, | ||
| Value * | Addr, | ||
| Align | Alignment, | ||
| TypeSize | TypeStoreSize, | ||
| bool | IsWrite, | ||
| Value * | SizeArgument, | ||
| bool | UseCalls, | ||
| bool | Recover, | ||
| int | Scale, | ||
| int | Offset ) |
Instrument the memory operand Addr.
Generates report blocks that catch the addressing errors.
Definition at line 183 of file AMDGPUAsanInstrumentation.cpp.
References llvm::IRBuilderBase::CreateAdd(), llvm::IRBuilderBase::CreateIntToPtr(), llvm::IRBuilderBase::CreateLShr(), llvm::IRBuilderBase::CreatePtrToInt(), llvm::IRBuilderBase::CreateTypeSize(), llvm::Constant::getAllOnesValue(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::Value::getType(), instrumentAddressImpl(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable(), llvm::IRBuilderBase::SetInsertPoint(), Size, and llvm::Align::value().
|
static |
Definition at line 150 of file AMDGPUAsanInstrumentation.cpp.
References llvm::IRBuilderBase::CreateAlignedLoad(), llvm::IRBuilderBase::CreateAnd(), llvm::IRBuilderBase::CreateIntToPtr(), llvm::IRBuilderBase::CreateIsNotNull(), llvm::IRBuilderBase::CreatePtrToInt(), createSlowPathCmp(), genAMDGPUReportBlock(), generateCrashCode(), llvm::IntegerType::get(), llvm::PointerType::get(), llvm::Instruction::getDebugLoc(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), memToShadow(), llvm::Instruction::setDebugLoc(), llvm::IRBuilderBase::SetInsertPoint(), TypeStoreSizeToSizeIndex(), and llvm::Align::value().
Referenced by instrumentAddress().
Ty is a pointer type with size Width. Definition at line 29 of file AMDGPURegBankLegalizeRules.cpp.
Referenced by LLTToBId(), and matchUniformityAndLLT().
Definition at line 3429 of file AMDGPUBaseInfo.cpp.
References A(), llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_CS_Chain, llvm::CallingConv::AMDGPU_CS_ChainPreserve, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, F, and llvm::CallingConv::SPIR_KERNEL.
Referenced by adjustInliningThresholdUsingCallee(), isTriviallyUniform(), and isUniformMMO().
Definition at line 3458 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_CS_Chain, llvm::CallingConv::AMDGPU_CS_ChainPreserve, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_Gfx, 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::CallBase::getCallingConv(), llvm::CallBase::paramHasAttr(), and llvm::CallingConv::SPIR_KERNEL.
| LLVM_READONLY bool llvm::AMDGPU::isAsyncStore | ( | unsigned | Opc | ) |
Definition at line 821 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by getTemporalHintType().
|
constexpr |
Definition at line 1510 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_CS_Chain, and llvm::CallingConv::AMDGPU_CS_ChainPreserve.
Referenced by llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::MCResourceInfo::gatherResourceInfo(), getCallOpcode(), llvm::AMDGPUCallLowering::handleImplicitCallArguments(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::SITargetLowering::LowerCall(), llvm::AMDGPUCallLowering::lowerTailCall(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
| bool llvm::AMDGPU::isCI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2664 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPU::MTBUFFormat::getNfmtLookupTable(), getSMRDEncodedLiteralOffset32(), hasPackedD16(), and isNotGFX10Plus().
| bool llvm::AMDGPU::isClobberedInFunction | ( | const LoadInst * | Load, |
| MemorySSA * | MSSA, | ||
| AAResults * | AA ) |
Check is a Load is clobbered in its function.
Definition at line 409 of file AMDGPUMemoryUtils.cpp.
References llvm::cast(), llvm::dbgs(), llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::MemoryLocation::get(), llvm::MemorySSAWalker::getClobberingMemoryAccess(), llvm::MemorySSA::getWalker(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MemorySSA::isLiveOnEntryDef(), isReallyAClobber(), LLVM_DEBUG, llvm::SmallVectorImpl< T >::pop_back_val(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
constexpr |
Definition at line 1487 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_CS, and isGraphics().
Referenced by EmitPALMetadataCommon(), llvm::SIProgramInfo::getPGMRSrc1(), llvm::SIProgramInfo::getPGMRSrc2(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::SIFrameLowering::mayReserveScratchForCWSR(), llvm::R600InstrInfo::usesTextureCache(), and llvm::R600InstrInfo::usesVertexCache().
Definition at line 105 of file AMDGPUAddrSpace.h.
| LLVM_READNONE bool llvm::AMDGPU::isCvt_F32_Fp8_Bf8_e64 | ( | unsigned | Opc | ) |
Definition at line 786 of file AMDGPUBaseInfo.cpp.
References Opc.
| bool llvm::AMDGPU::isDPALU_DPP | ( | const MCInstrDesc & | OpDesc, |
| const MCInstrInfo & | MII, | ||
| const MCSubtargetInfo & | ST ) |
Definition at line 3851 of file AMDGPUBaseInfo.cpp.
References llvm::MCInstrDesc::getOpcode(), hasAny64BitVGPROperands(), and isDPALU_DPP32BitOpc().
Referenced by llvm::SIInstrInfo::verifyInstruction().
Definition at line 3831 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by isDPALU_DPP().
Definition at line 869 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by getExpertSchedulingEventType(), and llvm::SIInstrInfo::isVOPDAntidependencyAllowed().
Definition at line 3508 of file AMDGPUBaseInfo.cpp.
Referenced by convertSMRDOffsetUnits(), getSMRDEncodedLiteralOffset32(), and getSMRDEncodedOffset().
| bool llvm::AMDGPU::isDynamicLDS | ( | const GlobalVariable & | GV | ) |
Definition at line 84 of file AMDGPUMemoryUtils.cpp.
References DL, llvm::GlobalVariable::getGlobalSize(), llvm::GlobalValue::getParent(), llvm::Type::getPointerAddressSpace(), llvm::GlobalValue::getType(), and llvm::AMDGPUAS::LOCAL_ADDRESS.
Referenced by getTransitiveUsesOfLDSForLowering(), and isLDSVariableToLower().
|
constexpr |
Definition at line 1492 of file AMDGPUBaseInfo.h.
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::MCResourceInfo::gatherResourceInfo(), llvm::GCNUserSGPRUsageInfo::GCNUserSGPRUsageInfo(), isModuleEntryFunctionCC(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::SITargetLowering::mayBeEmittedAsTailCall(), llvm::SIFrameLowering::mayReserveScratchForCWSR(), mustPreserveGV(), and recursivelyVisitUsers().
Definition at line 99 of file AMDGPUAddrSpace.h.
References llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUAS::CONSTANT_ADDRESS_32BIT, llvm::AMDGPUAS::GLOBAL_ADDRESS, and llvm::AMDGPUAS::MAX_AMDGPU_ADDRESS.
Referenced by llvm::SITargetLowering::allowsMisalignedMemoryAccessesImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::GCNTTIImpl::getScalingFactorCost(), llvm::GCNTTIImpl::rewriteIntrinsicWithAddressSpace(), and llvm::SITargetLowering::shouldExpandAtomicRMWInIR().
Definition at line 94 of file AMDGPUAddrSpace.h.
References llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUAS::FLAT_ADDRESS, llvm::AMDGPUAS::GLOBAL_ADDRESS, and llvm::AMDGPUAS::MAX_AMDGPU_ADDRESS.
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(), llvm::AMDGPUTargetMachine::isNoopAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeAtomicCmpXChg(), llvm::SITargetLowering::shouldExpandAtomicRMWInIR(), llvm::GCNTTIImpl::shouldPrefetchAddressSpace(), and llvm::verifyAMDGPUIntrinsicCall().
| bool llvm::AMDGPU::isGCN3Encoding | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2758 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by hasSMEMByteOffset().
| LLVM_READNONE bool llvm::AMDGPU::isGenericAtomic | ( | unsigned | Opc | ) |
Definition at line 799 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::SIInstrInfo::getGenericValueUniformity().
| bool llvm::AMDGPU::isGFX10 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2698 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by getGcnBufferFormatInfo(), getGcnBufferFormatInfo(), llvm::AMDGPU::MTBUFFormat::getUnifiedFormatName(), llvm::AMDGPUDisassembler::isGFX10(), isGFX10_GFX11(), isGFX10Before1030(), isGFX10Plus(), isGFX8_GFX9_GFX10(), isGFX9_GFX10(), isGFX9_GFX10_GFX11(), and llvm::AMDGPU::MTBUFFormat::isValidUnifiedFormat().
| bool llvm::AMDGPU::isGFX10_3_GFX11 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2774 of file AMDGPUBaseInfo.cpp.
References isGFX10_BEncoding(), and isGFX12Plus().
| bool llvm::AMDGPU::isGFX10_AEncoding | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2762 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
| bool llvm::AMDGPU::isGFX10_BEncoding | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2766 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by isGFX10_3_GFX11(), and isGFX10Before1030().
| bool llvm::AMDGPU::isGFX10_GFX11 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2702 of file AMDGPUBaseInfo.cpp.
| bool llvm::AMDGPU::isGFX10Before1030 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2754 of file AMDGPUBaseInfo.cpp.
References isGFX10(), and isGFX10_BEncoding().
| bool llvm::AMDGPU::isGFX10Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2706 of file AMDGPUBaseInfo.cpp.
References isGFX10(), and isGFX11Plus().
Referenced by createAMDGPUMCSubtargetInfo(), llvm::AMDGPUAsmPrinter::doFinalization(), generateEndPgm(), llvm::AMDGPU::MTBUFFormat::getDefaultFormatEncoding(), llvm::AMDGPU::IsaInfo::getEUsPerCU(), llvm::AMDGPU::IsaInfo::getLocalMemorySize(), llvm::AMDGPU::IsaInfo::getMaxWavesPerEU(), llvm::AMDGPU::IsaInfo::getMaxWorkGroupsPerCU(), llvm::AMDGPU::IsaInfo::getTotalNumVGPRs(), hasSMEMByteOffset(), llvm::AMDGPUDisassembler::isGFX10Plus(), isGFX9Plus(), llvm::AMDGPU::Exp::isSupportedTgtId(), llvm::AMDGPU::MTBUFFormat::isValidFormatEncoding(), supportsWave32(), supportsWGP(), and llvm::AMDGPU::AMDGPUMCKernelCodeT::validate().
| bool llvm::AMDGPU::isGFX11 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2710 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by isGFX10_GFX11(), isGFX11Plus(), isGFX9_GFX10_GFX11(), and llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic().
| bool llvm::AMDGPU::isGFX11Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2714 of file AMDGPUBaseInfo.cpp.
References isGFX11(), and isGFX12Plus().
Referenced by llvm::AMDGPU::MTBUFFormat::convertDfmtNfmt2Ufmt(), llvm::AMDGPU::SendMsg::decodeMsg(), llvm::AMDGPUTargetAsmStreamer::EmitCodeEnd(), llvm::AMDGPUTargetELFStreamer::EmitCodeEnd(), getGcnBufferFormatInfo(), getGcnBufferFormatInfo(), llvm::AMDGPU::SendMsg::getMsgIdMask(), llvm::AMDGPU::MTBUFFormat::getUnifiedFormat(), imageIntrinsicOptimizerImpl(), isGFX10Plus(), llvm::AMDGPUDisassembler::isGFX11Plus(), isNotGFX11Plus(), llvm::AMDGPU::Exp::isSupportedTgtId(), llvm::AMDGPU::SendMsg::isValidMsgStream(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPU::SendMsg::msgDoesNotUseM0(), llvm::AMDGPU::SendMsg::msgRequiresOp(), and llvm::AMDGPU::SendMsg::msgSupportsStream().
| bool llvm::AMDGPU::isGFX12 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2718 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by isGFX12Plus(), and isLegalDPALU_DPPControl().
| bool llvm::AMDGPU::isGFX1250 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2728 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and isGFX13().
Referenced by llvm::AMDGPU::IsaInfo::getEUsPerCU(), llvm::AMDGPUDisassembler::isGFX1250(), supportsWave32(), and supportsWGP().
| bool llvm::AMDGPU::isGFX1250Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2732 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), getMaxNumUserSGPRs(), and llvm::AMDGPUDisassembler::isGFX1250Plus().
| bool llvm::AMDGPU::isGFX12Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2722 of file AMDGPUBaseInfo.cpp.
References isGFX12(), and isGFX13Plus().
Referenced by llvm::SIInstrInfo::allowNegativeFlatOffset(), getInstPrefSizeFieldWidth(), getSMRDEncodedOffset(), isGFX10_3_GFX11(), isGFX11Plus(), llvm::AMDGPUDisassembler::isGFX12Plus(), llvm::SIInstrInfo::isLegalRegOperand(), isLegalSMRDEncodedSignedOffset(), isLegalSMRDEncodedUnsignedOffset(), isNotGFX12Plus(), llvm::SIInstrInfo::isXDL(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::SIInstrInfo::legalizeOperandsVOP3(), and llvm::SIInstrInfo::verifyInstruction().
| bool llvm::AMDGPU::isGFX13 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2736 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
Referenced by isGFX1250(), llvm::AMDGPUDisassembler::isGFX13(), and isGFX13Plus().
| bool llvm::AMDGPU::isGFX13Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2740 of file AMDGPUBaseInfo.cpp.
References isGFX13().
Referenced by isGFX12Plus(), llvm::AMDGPUDisassembler::isGFX13Plus(), and llvm::AMDGPU::Exp::isSupportedTgtId().
| bool llvm::AMDGPU::isGFX8_GFX9_GFX10 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2684 of file AMDGPUBaseInfo.cpp.
| bool llvm::AMDGPU::isGFX8Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2688 of file AMDGPUBaseInfo.cpp.
References isGFX9Plus(), and isVI().
| bool llvm::AMDGPU::isGFX9 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2672 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPU::MTBUFFormat::getNfmtLookupTable(), isGFX8_GFX9_GFX10(), llvm::AMDGPUDisassembler::isGFX9(), isGFX9_GFX10(), isGFX9_GFX10_GFX11(), isGFX9Plus(), and isNotGFX10Plus().
| bool llvm::AMDGPU::isGFX90A | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2778 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPUAsmPrinter::doFinalization(), llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), llvm::AMDGPUTargetAsmStreamer::EmitCodeEnd(), llvm::AMDGPUTargetELFStreamer::EmitCodeEnd(), llvm::AMDGPU::MCKernelDescriptor::getDefaultAmdhsaKernelDescriptor(), llvm::AMDGPU::IsaInfo::getMaxWavesPerEU(), and isLegalDPALU_DPPControl().
| bool llvm::AMDGPU::isGFX940 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2782 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
| bool llvm::AMDGPU::isGFX9_GFX10 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2676 of file AMDGPUBaseInfo.cpp.
| bool llvm::AMDGPU::isGFX9_GFX10_GFX11 | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2680 of file AMDGPUBaseInfo.cpp.
| bool llvm::AMDGPU::isGFX9Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2692 of file AMDGPUBaseInfo.cpp.
References isGFX10Plus(), and isGFX9().
Referenced by hasSMRDSignedImmOffset(), isGFX8Plus(), llvm::AMDGPUDisassembler::isGFX9Plus(), isNotGFX9Plus(), and llvm::AMDGPUInstPrinter::printSwizzle().
| bool llvm::AMDGPU::isGlobalSegment | ( | const GlobalValue * | GV | ) |
Definition at line 1729 of file AMDGPUBaseInfo.cpp.
References llvm::GlobalValue::getAddressSpace(), and llvm::AMDGPUAS::GLOBAL_ADDRESS.
|
constexpr |
Definition at line 1481 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_Gfx_WholeWave, and isShader().
Referenced by llvm::GCNUserSGPRUsageInfo::GCNUserSGPRUsageInfo(), isCompute(), llvm::SIInstrInfo::legalizeOperands(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArguments(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().
| bool llvm::AMDGPU::isGroupSegment | ( | const GlobalValue * | GV | ) |
Definition at line 1725 of file AMDGPUBaseInfo.cpp.
References llvm::GlobalValue::getAddressSpace(), and llvm::AMDGPUAS::LOCAL_ADDRESS.
| bool llvm::AMDGPU::isHi16Reg | ( | MCRegister | Reg, |
| const MCRegisterInfo & | MRI ) |
Reg occupies the high 16-bits of a 32-bit register. Definition at line 2820 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterInfo::getEncodingValue(), llvm::AMDGPU::HWEncoding::IS_HI16, and Reg.
Referenced by llvm::SIInstrInfo::copyPhysReg(), cvtVOP3DstOpSelOnly(), llvm::SIRegisterInfo::getRegAllocationHints(), llvm::AMDGPUMCInstLower::lowerT16D16Helper(), llvm::AMDGPUMCInstLower::lowerT16FmaMixFP16(), and llvm::SIRegisterInfo::SIRegisterInfo().
| bool llvm::AMDGPU::isHsaAbi | ( | const MCSubtargetInfo & | STI | ) |
STI is AMDHSA. Definition at line 209 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::AMDHSA, llvm::Triple::getOS(), and llvm::MCSubtargetInfo::getTargetTriple().
|
inline |
Is this literal inlinable, and not one of the values intended for floating point values.
Definition at line 1725 of file AMDGPUBaseInfo.h.
References llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintVal(), clearUnusedBits(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::isFrameOffsetLegal(), isInlinableLiteral32(), isInlinableLiteral64(), isInlinableLiteralBF16(), isInlinableLiteralFP16(), llvm::SIInstrInfo::isInlineConstant(), and llvm::AMDGPUAsmPrinter::PrintAsmOperand().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteral32 | ( | int32_t | Literal, |
| bool | HasInv2Pi ) |
Definition at line 3166 of file AMDGPUBaseInfo.cpp.
References llvm::bit_cast(), isInlinableIntLiteral(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), isInlinableLiteralI16(), isInlineableLiteralOp16(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isInlineConstant(), and llvm::SIInstrInfo::isLegalAV64PseudoImm().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteral64 | ( | int64_t | Literal, |
| bool | HasInv2Pi ) |
Is this literal inlinable.
Definition at line 3149 of file AMDGPUBaseInfo.cpp.
References llvm::bit_cast(), isInlinableIntLiteral(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), llvm::AMDGPUDisassembler::decodeLiteral64Constant(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isInlineConstant(), and llvm::SIInstrInfo::isOperandLegal().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralBF16 | ( | int16_t | Literal, |
| bool | HasInv2Pi ) |
Definition at line 3192 of file AMDGPUBaseInfo.cpp.
References isInlinableIntLiteral(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), isInlineableLiteralOp16(), llvm::SIInstrInfo::isInlineConstant(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralFP16 | ( | int16_t | Literal, |
| bool | HasInv2Pi ) |
Definition at line 3213 of file AMDGPUBaseInfo.cpp.
References isInlinableIntLiteral(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), isInlineableLiteralOp16(), llvm::SIInstrInfo::isInlineConstant(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralI16 | ( | int32_t | Literal, |
| bool | HasInv2Pi ) |
Definition at line 3209 of file AMDGPUBaseInfo.cpp.
References isInlinableLiteral32(), and llvm::Literal.
Referenced by llvm::SITargetLowering::checkAsmConstraintValA(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralV216 | ( | uint32_t | Literal, |
| uint8_t | OpType ) |
Definition at line 3352 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV216(), isInlinableLiteralV2BF16(), llvm::Literal, llvm_unreachable, OPERAND_REG_IMM_NOINLINE_V2FP16, OPERAND_REG_IMM_V2BF16, OPERAND_REG_IMM_V2FP16, OPERAND_REG_IMM_V2FP16_SPLAT, OPERAND_REG_IMM_V2INT16, OPERAND_REG_INLINE_C_V2BF16, OPERAND_REG_INLINE_C_V2FP16, and OPERAND_REG_INLINE_C_V2INT16.
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralV2BF16 | ( | uint32_t | Literal | ) |
Definition at line 3378 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV2BF16(), and llvm::Literal.
Referenced by llvm::AMDGPUDisassembler::decodeLiteralConstant(), isInlinableLiteralV216(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralV2F16 | ( | uint32_t | Literal | ) |
Definition at line 3383 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV2F16(), and llvm::Literal.
Referenced by llvm::AMDGPUDisassembler::decodeLiteralConstant(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlinableLiteralV2I16 | ( | uint32_t | Literal | ) |
Definition at line 3373 of file AMDGPUBaseInfo.cpp.
References getInlineEncodingV2I16(), and llvm::Literal.
Referenced by llvm::AMDGPUDisassembler::decodeLiteralConstant(), and llvm::SIInstrInfo::isInlineConstant().
| LLVM_READNONE bool llvm::AMDGPU::isInlineValue | ( | MCRegister | Reg | ) |
Definition at line 2914 of file AMDGPUBaseInfo.cpp.
References Reg.
Definition at line 3594 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::SIInstrInfo::getGenericValueUniformity(), llvm::AMDGPUTargetLowering::isSDNodeAlwaysUniform(), and isTriviallyUniform().
Definition at line 3590 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::SIInstrInfo::getGenericValueUniformity(), and llvm::SITargetLowering::isSDNodeSourceOfDivergence().
|
inlineconstexpr |
Definition at line 1542 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_KERNEL, and llvm::CallingConv::SPIR_KERNEL.
Referenced by getTransitiveUsesOfGV(), getUsesOfGVByFunction(), isKernel(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), and removeFnAttrFromReachable().
Definition at line 1552 of file AMDGPUBaseInfo.h.
References F, and isKernel().
| bool llvm::AMDGPU::isKImmOperand | ( | const MCInstrDesc & | Desc, |
| unsigned | OpNo ) |
Is this a KImm operand?
Definition at line 2945 of file AMDGPUBaseInfo.cpp.
References assert(), OPERAND_KIMM_FIRST, and OPERAND_KIMM_LAST.
| bool llvm::AMDGPU::isLDSVariableToLower | ( | const GlobalVariable & | GV | ) |
Definition at line 93 of file AMDGPUMemoryUtils.cpp.
References llvm::GlobalVariable::getInitializer(), llvm::Type::getPointerAddressSpace(), llvm::GlobalValue::getType(), llvm::GlobalVariable::hasInitializer(), llvm::isa(), llvm::GlobalVariable::isConstant(), isDynamicLDS(), and llvm::AMDGPUAS::LOCAL_ADDRESS.
Referenced by getTransitiveUsesOfLDSForLowering().
|
inline |
Definition at line 1823 of file AMDGPUBaseInfo.h.
References isGFX12(), isGFX90A(), llvm::AMDGPU::DPP::ROW_NEWBCAST_FIRST, llvm::AMDGPU::DPP::ROW_NEWBCAST_LAST, llvm::AMDGPU::DPP::ROW_SHARE_FIRST, and llvm::AMDGPU::DPP::ROW_SHARE_LAST.
Referenced by llvm::SIInstrInfo::expandMovDPP64(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), lowerLaneOp(), and llvm::SIInstrInfo::verifyInstruction().
| LLVM_READONLY bool llvm::AMDGPU::isLegalSMRDEncodedSignedOffset | ( | const MCSubtargetInfo & | ST, |
| int64_t | EncodedOffset, | ||
| bool | IsBuffer ) |
Definition at line 3497 of file AMDGPUBaseInfo.cpp.
References hasSMRDSignedImmOffset(), isGFX12Plus(), and llvm::isInt().
| LLVM_READONLY bool llvm::AMDGPU::isLegalSMRDEncodedUnsignedOffset | ( | const MCSubtargetInfo & | ST, |
| int64_t | EncodedOffset ) |
Definition at line 3488 of file AMDGPUBaseInfo.cpp.
References hasSMEMByteOffset(), isGFX12Plus(), and llvm::isUInt().
Referenced by getSMRDEncodedOffset().
Definition at line 761 of file AMDGPUMCExpr.cpp.
References llvm::AMDGPUMCExpr::AGVK_Lit, llvm::AMDGPUMCExpr::AGVK_Lit64, and llvm::dyn_cast().
Referenced by getLitValue().
| LLVM_READNONE bool llvm::AMDGPU::isMAC | ( | unsigned | Opc | ) |
Definition at line 740 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::AMDGPUDisassembler::getInstruction().
|
constexpr |
Definition at line 1531 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_CS_Chain, llvm::CallingConv::AMDGPU_Gfx, and isEntryFunctionCC().
Referenced by llvm::AMDGPUTargetMachine::getAssumedAddrSpace().
| TargetExtType * llvm::AMDGPU::isNamedBarrier | ( | const GlobalVariable & | GV | ) |
Definition at line 78 of file AMDGPUMemoryUtils.cpp.
References llvm::TargetExtType::getName(), and getTargetExtType().
Referenced by llvm::AMDGPUMachineFunctionInfo::allocateLDSGlobal(), getTransitiveUsesOfLDSForLowering(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), and llvm::AMDGPUTargetLowering::LowerGlobalAddress().
| bool llvm::AMDGPU::isNotGFX10Plus | ( | const MCSubtargetInfo & | STI | ) |
| bool llvm::AMDGPU::isNotGFX11Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2748 of file AMDGPUBaseInfo.cpp.
References isGFX11Plus().
| bool llvm::AMDGPU::isNotGFX12Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2726 of file AMDGPUBaseInfo.cpp.
References isGFX12Plus().
| bool llvm::AMDGPU::isNotGFX9Plus | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2696 of file AMDGPUBaseInfo.cpp.
References isGFX9Plus().
| LLVM_READONLY bool llvm::AMDGPU::isPacked64BitInst | ( | unsigned | Opc | ) |
Definition at line 3888 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by isPackedFP32or64BitInst().
| LLVM_READONLY bool llvm::AMDGPU::isPackedFP32Inst | ( | unsigned | Opc | ) |
Definition at line 3874 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by isPackedFP32or64BitInst().
| LLVM_READONLY bool llvm::AMDGPU::isPackedFP32or64BitInst | ( | unsigned | Opc | ) |
Definition at line 3912 of file AMDGPUBaseInfo.cpp.
References isPacked64BitInst(), isPackedFP32Inst(), and Opc.
Referenced by llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::legalizeOperandsVOP3(), and llvm::SIInstrInfo::verifyInstruction().
| LLVM_READNONE bool llvm::AMDGPU::isPermlane16 | ( | unsigned | Opc | ) |
Definition at line 771 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READNONE bool llvm::AMDGPU::isPKFMACF16InlineConstant | ( | uint32_t | Literal, |
| bool | IsGFX11Plus ) |
Definition at line 3388 of file AMDGPUBaseInfo.cpp.
References getPKFMACF16InlineEncoding(), and llvm::Literal.
Referenced by llvm::AMDGPUDisassembler::decodeLiteralConstant(), and llvm::SIInstrInfo::isInlineConstant().
| bool llvm::AMDGPU::isReadOnlySegment | ( | const GlobalValue * | GV | ) |
Definition at line 1733 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUAS::CONSTANT_ADDRESS_32BIT, and llvm::GlobalValue::getAddressSpace().
Referenced by llvm::AMDGPUTargetObjectFile::SelectSectionForGlobal().
Given a Def clobbering a load from Ptr according to the MSSA check if this is actually a memory update or an artificial clobber to facilitate ordering constraints.
Definition at line 367 of file AMDGPUMemoryUtils.cpp.
References llvm::dyn_cast(), I, II, and llvm::isa().
Referenced by isClobberedInFunction().
| bool llvm::AMDGPU::isSGPR | ( | MCRegister | Reg, |
| const MCRegisterInfo * | TRI ) |
Is Reg - scalar register.
Definition at line 2813 of file AMDGPUBaseInfo.cpp.
References llvm::MCRegisterClass::contains(), Reg, and TRI.
|
constexpr |
Definition at line 1463 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_CS_Chain, llvm::CallingConv::AMDGPU_CS_ChainPreserve, 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::GCNTTIImpl::fpenvIEEEMode(), llvm::SIModeRegisterDefaults::getDefaultForCallingConv(), isGraphics(), llvm::GCNSubtarget::isMesaGfxShader(), llvm::AMDGPUSubtarget::isMesaKernel(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), and reservePrivateMemoryRegs().
| bool llvm::AMDGPU::isSI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2660 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPU::MTBUFFormat::getNfmtLookupTable(), hasPackedD16(), and isNotGFX10Plus().
| bool llvm::AMDGPU::isSISrcFPOperand | ( | const MCInstrDesc & | Desc, |
| unsigned | OpNo ) |
Is this floating-point operand?
Definition at line 2952 of file AMDGPUBaseInfo.cpp.
References assert(), OPERAND_REG_IMM_FP16, OPERAND_REG_IMM_FP32, OPERAND_REG_IMM_FP64, OPERAND_REG_IMM_NOINLINE_V2FP16, OPERAND_REG_IMM_V2FP16, OPERAND_REG_IMM_V2FP16_SPLAT, OPERAND_REG_IMM_V2FP32, OPERAND_REG_IMM_V2FP64, OPERAND_REG_INLINE_AC_FP32, OPERAND_REG_INLINE_AC_FP64, OPERAND_REG_INLINE_C_FP16, OPERAND_REG_INLINE_C_FP32, OPERAND_REG_INLINE_C_FP64, and OPERAND_REG_INLINE_C_V2FP16.
Referenced by llvm::AMDGPU::VOPD::ComponentProps::ComponentProps().
| bool llvm::AMDGPU::isSISrcInlinableOperand | ( | const MCInstrDesc & | Desc, |
| unsigned | OpNo ) |
Does this operand support only inlinable literals?
Definition at line 2976 of file AMDGPUBaseInfo.cpp.
References assert(), OPERAND_REG_INLINE_AC_FIRST, OPERAND_REG_INLINE_AC_LAST, OPERAND_REG_INLINE_C_FIRST, and OPERAND_REG_INLINE_C_LAST.
|
inline |
Definition at line 1651 of file AMDGPUBaseInfo.h.
References isSISrcOperand().
|
constexpr |
Is this an AMDGPU specific source operand?
These include registers, inline constants, literals and mandatory literals (KImm).
Definition at line 1646 of file AMDGPUBaseInfo.h.
References OPERAND_SRC_FIRST, and OPERAND_SRC_LAST.
Referenced by llvm::SIInstrInfo::isLiteralOperandLegal(), llvm::SIInstrInfo::isOperandLegal(), and isSISrcOperand().
|
static |
Definition at line 2079 of file AMDGPUBaseInfo.cpp.
References Size.
Referenced by llvm::AMDGPU::DepCtr::isSymbolicDepCtrEncoding().
| LLVM_READONLY bool llvm::AMDGPU::isTensorStore | ( | unsigned | Opc | ) |
Definition at line 832 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by getTemporalHintType().
| LLVM_READONLY bool llvm::AMDGPU::isTrue16Inst | ( | unsigned | Opc | ) |
Definition at line 852 of file AMDGPUBaseInfo.cpp.
References Opc.
| bool llvm::AMDGPU::isUniformMMO | ( | const MachineMemOperand * | MMO | ) |
Definition at line 30 of file AMDGPUInstrInfo.cpp.
References llvm::AMDGPUAS::CONSTANT_ADDRESS_32BIT, llvm::dyn_cast(), llvm::MachineMemOperand::getAddrSpace(), llvm::MachineMemOperand::getPseudoValue(), llvm::MachineMemOperand::getValue(), I, llvm::isa(), and isArgPassedInSGPR().
Referenced by llvm::AMDGPURegisterBankInfo::isScalarLoadLegal(), llvm::AMDGPU::RegBankLegalizeRules::RegBankLegalizeRules(), and llvm::AMDGPUTargetLowering::shouldReduceLoadWidth().
| LLVM_READNONE bool llvm::AMDGPU::isValid32BitLiteral | ( | uint64_t | Val, |
| bool | IsFP64 ) |
Definition at line 3392 of file AMDGPUBaseInfo.cpp.
References llvm::isInt(), llvm::isUInt(), and llvm::Lo_32().
Referenced by llvm::SIInstrInfo::getInstSizeInBytes(), llvm::SIInstrInfo::isOperandLegal(), llvm::AMDGPUDAGToDAGISel::Select(), and llvm::SIInstrInfo::verifyInstruction().
Definition at line 1743 of file AMDGPUBaseInfo.cpp.
References llvm::CallingConv::C.
Referenced by parseAsmPhysRegName().
| LLVM_READONLY bool llvm::AMDGPU::isValidWMMAScaleFmtCombination | ( | unsigned | AFmt, |
| unsigned | AScale, | ||
| unsigned | BFmt, | ||
| unsigned | BScale ) |
Definition at line 651 of file AMDGPUBaseInfo.cpp.
References isValid(), llvm::AMDGPU::WMMA::MATRIX_FMT_BF6, llvm::AMDGPU::WMMA::MATRIX_FMT_BF8, llvm::AMDGPU::WMMA::MATRIX_FMT_FP4, llvm::AMDGPU::WMMA::MATRIX_FMT_FP6, llvm::AMDGPU::WMMA::MATRIX_FMT_FP8, llvm::AMDGPU::WMMA::MATRIX_SCALE_FMT_E4M3, llvm::AMDGPU::WMMA::MATRIX_SCALE_FMT_E5M3, and llvm::AMDGPU::WMMA::MATRIX_SCALE_FMT_E8.
| bool llvm::AMDGPU::isVI | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2668 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::hasFeature().
Referenced by llvm::AMDGPU::MTBUFFormat::getNfmtLookupTable(), isGFX8_GFX9_GFX10(), isGFX8Plus(), and isNotGFX10Plus().
| LLVM_READONLY bool llvm::AMDGPU::isVOPC64DPP | ( | unsigned | Opc | ) |
Definition at line 578 of file AMDGPUBaseInfo.cpp.
References Opc.
Referenced by llvm::AMDGPUDisassembler::getInstruction().
| LLVM_READONLY bool llvm::AMDGPU::isVOPCAsmOnly | ( | unsigned | Opc | ) |
Definition at line 582 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY bool llvm::AMDGPU::isVOPD | ( | unsigned | Opc | ) |
Definition at line 736 of file AMDGPUBaseInfo.cpp.
References hasNamedOperand(), and Opc.
Referenced by getSrcOperandIndices(), and getVGPRLoweringOperandTables().
| const D16ImageDimIntrinsic * llvm::AMDGPU::lookupD16ImageDimIntrinsic | ( | unsigned | Intr | ) |
| const RsrcIntrinsic * llvm::AMDGPU::lookupRsrcIntrinsic | ( | unsigned | Intr | ) |
|
constexpr |
If LLVMAddressSpace has a corresponding DWARF encoding, return it; otherwise return the sentinel value -1 to indicate no such mapping exists.
This maps private/scratch to the focused lane view.
These mappings must be kept in sync with llvm/docs/AMDGPUUsage.rst table "AMDGPU DWARF Address Space Mapping".
Note: This could return std::optional<int> but that would require an extra #include.
Definition at line 168 of file AMDGPUAddrSpace.h.
References llvm::AMDGPU::impl::LLVMToDWARFAddrSpaceMapping.
| LLVM_READONLY unsigned llvm::AMDGPU::mapWMMA2AddrTo3AddrOpcode | ( | unsigned | Opc | ) |
Definition at line 874 of file AMDGPUBaseInfo.cpp.
References Opc.
| LLVM_READONLY unsigned llvm::AMDGPU::mapWMMA3AddrTo2AddrOpcode | ( | unsigned | Opc | ) |
Definition at line 879 of file AMDGPUBaseInfo.cpp.
References Opc.
|
inline |
Provided with the MCExpr * Val, uint32 Mask and Shift, will return the right shifted and masked, in said order of operations, MCExpr * created within the MCContext Ctx.
For example, given MCExpr *Val, Mask == 0xf, Shift == 6 the returned MCExpr
Definition at line 63 of file SIDefinesUtils.h.
References llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createAnd(), and llvm::MCBinaryExpr::createLShr().
|
inline |
Provided with the MCExpr * Val, uint32 Mask and Shift, will return the masked and left shifted, in said order of operations, MCExpr * created within the MCContext Ctx.
For example, given MCExpr *Val, Mask == 0xf, Shift == 6 the returned MCExpr
Definition at line 44 of file SIDefinesUtils.h.
References llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createAnd(), and llvm::MCBinaryExpr::createShl().
Referenced by llvm::AMDGPU::AMDGPUMCKernelCodeT::EmitKernelCodeT().
|
constexpr |
Return true if we might ever do TCO for calls with this calling convention.
Definition at line 1561 of file AMDGPUBaseInfo.h.
References llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_Gfx_WholeWave, llvm::CallingConv::C, and canGuaranteeTCO().
Referenced by llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), and llvm::SITargetLowering::isEligibleForTailCallOptimization().
| LLVM_READNONE MCRegister llvm::AMDGPU::mc2PseudoReg | ( | MCRegister | Reg | ) |
Convert hardware register Reg to a pseudo register.
Definition at line 2912 of file AMDGPUBaseInfo.cpp.
References MAP_REG2REG, and Reg.
Referenced by checkWriteLane().
|
static |
Definition at line 139 of file AMDGPUAsanInstrumentation.cpp.
References llvm::IRBuilderBase::CreateAdd(), and llvm::IRBuilderBase::CreateLShr().
Referenced by instrumentAddressImpl().
| LLVM_READNONE uint8_t llvm::AMDGPU::mfmaScaleF8F6F4FormatToNumRegs | ( | unsigned | EncodingVal | ) |
Definition at line 604 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::MFMAScaleFormats::FP4_E2M1, llvm::AMDGPU::MFMAScaleFormats::FP6_E2M3, llvm::AMDGPU::MFMAScaleFormats::FP6_E3M2, llvm::AMDGPU::MFMAScaleFormats::FP8_E4M3, llvm::AMDGPU::MFMAScaleFormats::FP8_E5M2, and llvm_unreachable.
Referenced by getMFMA_F8F6F4_WithFormatArgs().
| AMDGPU::GPUKind llvm::AMDGPU::parseArchAMDGCN | ( | StringRef | CPU | ) |
Definition at line 56 of file AMDGPUTargetParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and GK_NONE.
Referenced by llvm::AMDGPU::IsaInfo::AMDGPUTargetID::AMDGPUTargetID(), fillAMDGCNFeatureMap(), getCanonicalArchName(), llvm::AMDGPUTargetStreamer::getElfMach(), getIsaVersion(), and llvm::AMDGPU::IsaInfo::AMDGPUTargetID::parseTargetIDString().
| AMDGPU::GPUKind llvm::AMDGPU::parseArchR600 | ( | StringRef | CPU | ) |
Definition at line 66 of file AMDGPUTargetParser.cpp.
References llvm::StringSwitch< T, R >::Default(), and GK_NONE.
Referenced by fillAMDGPUFeatureMap(), getCanonicalArchName(), and llvm::AMDGPUTargetStreamer::getElfMach().
| std::tuple< char, unsigned, unsigned > llvm::AMDGPU::parseAsmConstraintPhysReg | ( | StringRef | Constraint | ) |
Returns a valid charcode or 0 in the first entry if this is a valid physical register constraint.
Followed by the start register number, and the register width. Does not validate the number of registers exists in the class.
Definition at line 1775 of file AMDGPUBaseInfo.cpp.
References parseAsmPhysRegName(), and RegName.
Referenced by llvm::SITargetLowering::getRegForInlineAsmConstraint().
Returns a valid charcode or 0 in the first entry if this is a valid physical register name.
Followed by the start register number, and the register width. Does not validate the number of registers exists in the class. Unlike parseAsmConstraintPhysReg, this does not expect the name to be wrapped in "{}".
Definition at line 1747 of file AMDGPUBaseInfo.cpp.
References llvm::Failed(), isValidRegPrefix(), and RegName.
Referenced by parseAsmConstraintPhysReg().
| void llvm::AMDGPU::printAMDGPUMCExpr | ( | const MCExpr * | Expr, |
| raw_ostream & | OS, | ||
| const MCAsmInfo * | MAI ) |
Definition at line 750 of file AMDGPUMCExpr.cpp.
References llvm::MCAsmInfo::printExpr().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(), and llvm::AMDGPUTargetAsmStreamer::EmitAMDKernelCodeT().
| void llvm::AMDGPU::removeFnAttrFromReachable | ( | CallGraph & | CG, |
| Function * | KernelRoot, | ||
| ArrayRef< StringRef > | FnAttrs ) |
Strip FnAttr attribute from any functions where we may have introduced its use.
Definition at line 323 of file AMDGPUMemoryUtils.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), F, llvm::CallGraph::getExternalCallingNode(), llvm::Function::getFunction(), llvm::SmallPtrSetImpl< PtrType >::insert(), isKernel(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Function::removeFnAttr().
TT, false otherwise. Definition at line 1739 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::r600.
Referenced by llvm::AMDGPUTargetObjectFile::SelectSectionForGlobal(), and llvm::SITargetLowering::shouldEmitFixup().
| bool llvm::AMDGPU::supportsScaleOffset | ( | const MCInstrInfo & | MII, |
| unsigned | Opcode ) |
Definition at line 3794 of file AMDGPUBaseInfo.cpp.
References llvm::SIInstrFlags::FLAT, llvm::SIInstrFlags::FlatScratch, llvm::MCInstrInfo::get(), getSMEMIsBuffer(), hasNamedOperand(), llvm::SIInstrFlags::SMRD, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::SIInstrInfo::verifyInstruction().
|
inline |
Definition at line 1619 of file AMDGPUBaseInfo.h.
References isGFX10Plus(), and isGFX1250().
Referenced by createAMDGPUMCSubtargetInfo().
| bool llvm::AMDGPU::supportsWGP | ( | const MCSubtargetInfo & | STI | ) |
Definition at line 2742 of file AMDGPUBaseInfo.cpp.
References isGFX10Plus(), and isGFX1250().
Referenced by llvm::AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor().
|
staticconstexpr |
Definition at line 39 of file AMDGPUHWEvents.h.
Referenced by llvm::AMDGPU::HWEventSet::print().
|
static |
Definition at line 52 of file AMDGPUAsanInstrumentation.cpp.
References llvm::countr_zero().
Referenced by instrumentAddressImpl().
| LLVM_READNONE uint8_t llvm::AMDGPU::wmmaScaleF8F6F4FormatToNumRegs | ( | unsigned | Fmt | ) |
Definition at line 628 of file AMDGPUBaseInfo.cpp.
References llvm_unreachable, llvm::AMDGPU::WMMA::MATRIX_FMT_BF6, llvm::AMDGPU::WMMA::MATRIX_FMT_BF8, llvm::AMDGPU::WMMA::MATRIX_FMT_FP4, llvm::AMDGPU::WMMA::MATRIX_FMT_FP6, and llvm::AMDGPU::WMMA::MATRIX_FMT_FP8.
Referenced by getWMMA_F8F6F4_WithFormatArgs(), and llvm::GCNTTIImpl::instCombineIntrinsic().
|
staticconstexpr |
Offset of nonstandard values for llvm.get.rounding results from the largest supported mode.
Definition at line 135 of file SIModeRegisterDefaults.h.
Referenced by decodeFltRoundToHWConversionTable(), decodeIndexFltRoundConversionTable(), encodeFltRoundsTable(), encodeFltRoundsToHWTable(), and encodeFltRoundsToHWTableSame().
|
staticconstexpr |
Offset in mode register of f32 rounding mode.
Definition at line 138 of file SIModeRegisterDefaults.h.
Referenced by getModeRegisterRoundMode().
|
staticconstexpr |
Offset in mode register of f64/f16 rounding mode.
Definition at line 141 of file SIModeRegisterDefaults.h.
Referenced by getModeRegisterRoundMode().
Definition at line 74 of file SIModeRegisterDefaults.cpp.
Referenced by decodeIndexFltRoundConversionTable(), and llvm::SITargetLowering::lowerGET_ROUNDING().
Definition at line 188 of file SIModeRegisterDefaults.cpp.
Referenced by decodeFltRoundToHW(), decodeFltRoundToHWConversionTable(), decodeFltRoundToHWConversionTable(), and llvm::SITargetLowering::lowerSET_ROUNDING().
|
staticconstexpr |
Definition at line 79 of file AMDGPULaneMaskUtils.h.
Referenced by llvm::AMDGPU::LaneMaskConstants::get().
|
staticconstexpr |
Definition at line 81 of file AMDGPULaneMaskUtils.h.
Referenced by llvm::AMDGPU::LaneMaskConstants::get().
| const int llvm::AMDGPU::OPR_ID_DUPLICATE = -3 |
Definition at line 25 of file AMDGPUAsmUtils.h.
Referenced by encodeCustomOperand().
| const int llvm::AMDGPU::OPR_ID_UNKNOWN = -1 |
Definition at line 23 of file AMDGPUAsmUtils.h.
Referenced by encodeCustomOperand(), and getEncodingFromOperandTable().
| const int llvm::AMDGPU::OPR_ID_UNSUPPORTED = -2 |
Definition at line 24 of file AMDGPUAsmUtils.h.
Referenced by encodeCustomOperand(), and getEncodingFromOperandTable().
| const int llvm::AMDGPU::OPR_VAL_INVALID = -4 |
Definition at line 26 of file AMDGPUAsmUtils.h.
Referenced by encodeCustomOperandVal().
Definition at line 1901 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getDefaultRsrcDataFormat().
Definition at line 1902 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().
Definition at line 1903 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().
Definition at line 1904 of file SIInstrInfo.h.
Referenced by llvm::SIInstrInfo::getScratchRsrcWords23().
|
constexpr |
Definition at line 704 of file AMDGPUBaseInfo.cpp.
|
constexpr |
Definition at line 716 of file AMDGPUBaseInfo.cpp.
Referenced by getCanBeVOPD().