LLVM: llvm::LLT Class Reference (original) (raw)

#include "[llvm/CodeGenTypes/LowLevelType.h](LowLevelType%5F8h%5Fsource.html)"

Public Member Functions
constexpr LLT (bool isPointer, bool isVector, bool isScalar, ElementCount EC, uint64_t SizeInBits, unsigned AddressSpace)
constexpr LLT ()
LLVM_ABI LLT (MVT VT)
constexpr bool isValid () const
constexpr bool isScalar () const
constexpr bool isToken () const
constexpr bool isVector () const
constexpr bool isPointer () const
constexpr bool isPointerVector () const
constexpr bool isPointerOrPointerVector () const
constexpr uint16_t getNumElements () const
Returns the number of elements in a vector LLT.
constexpr bool isScalable () const
Returns true if the LLT is a scalable vector.
constexpr bool isFixedVector () const
Returns true if the LLT is a fixed vector.
constexpr bool isScalableVector () const
Returns true if the LLT is a scalable vector.
constexpr ElementCount getElementCount () const
constexpr TypeSize getSizeInBits () const
Returns the total size of the type. Must only be called on sized types.
constexpr TypeSize getSizeInBytes () const
Returns the total size of the type in bytes, i.e.
constexpr LLT getScalarType () const
constexpr LLT changeElementType (LLT NewEltTy) const
If this type is a vector, return a vector with the same number of elements but the new element type.
constexpr LLT changeElementSize (unsigned NewEltSize) const
If this type is a vector, return a vector with the same number of elements but the new element size.
constexpr LLT changeElementCount (ElementCount EC) const
Return a vector or scalar with the same element type and the new element count.
constexpr LLT divide (int Factor) const
Return a type that is Factor times smaller.
constexpr LLT multiplyElements (int Factor) const
Produce a vector type that is Factor times bigger, preserving the element type.
constexpr bool isByteSized () const
constexpr unsigned getScalarSizeInBits () const
constexpr unsigned getAddressSpace () const
constexpr LLT getElementType () const
Returns the vector's element type. Only valid for vector types.
LLVM_ABI void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const
constexpr bool operator== (const LLT &RHS) const
constexpr bool operator!= (const LLT &RHS) const
constexpr uint64_t getUniqueRAWLLTData () const
Static Public Member Functions
static constexpr LLT scalar (unsigned SizeInBits)
Get a low-level scalar or aggregate "bag of bits".
static constexpr LLT token ()
Get a low-level token; just a scalar with zero bits (or no size).
static constexpr LLT pointer (unsigned AddressSpace, unsigned SizeInBits)
Get a low-level pointer in the given address space.
static constexpr LLT vector (ElementCount EC, unsigned ScalarSizeInBits)
Get a low-level vector of some number of elements and element width.
static constexpr LLT vector (ElementCount EC, LLT ScalarTy)
Get a low-level vector of some number of elements and element type.
static constexpr LLT float16 ()
Get a 16-bit IEEE half value.
static constexpr LLT float32 ()
Get a 32-bit IEEE float value.
static constexpr LLT float64 ()
Get a 64-bit IEEE double value.
static constexpr LLT fixed_vector (unsigned NumElements, unsigned ScalarSizeInBits)
Get a low-level fixed-width vector of some number of elements and element width.
static constexpr LLT fixed_vector (unsigned NumElements, LLT ScalarTy)
Get a low-level fixed-width vector of some number of elements and element type.
static constexpr LLT scalable_vector (unsigned MinNumElements, unsigned ScalarSizeInBits)
Get a low-level scalable vector of some number of elements and element width.
static constexpr LLT scalable_vector (unsigned MinNumElements, LLT ScalarTy)
Get a low-level scalable vector of some number of elements and element type.
static constexpr LLT scalarOrVector (ElementCount EC, LLT ScalarTy)
static constexpr LLT scalarOrVector (ElementCount EC, uint64_t ScalarSize)
Friends
struct DenseMapInfo< LLT >
class GISelInstProfileBuilder

Definition at line 40 of file LowLevelType.h.

LLT() [1/3]

Definition at line 135 of file LowLevelType.h.

References isPointer(), isScalar(), isVector(), and LLT().

Referenced by changeElementCount(), changeElementSize(), changeElementType(), DenseMapInfo< LLT >, divide(), fixed_vector(), fixed_vector(), float16(), float32(), float64(), getElementType(), getScalarType(), LLT(), multiplyElements(), operator==(), pointer(), scalable_vector(), scalable_vector(), scalar(), scalarOrVector(), scalarOrVector(), token(), vector(), and vector().

LLT() [2/3]

llvm::LLT::LLT ( ) inlineexplicitconstexpr

LLT() [3/3]

LLT::LLT ( MVT VT) explicit

changeElementCount()

Return a vector or scalar with the same element type and the new element count.

Definition at line 228 of file LowLevelType.h.

References getScalarType(), LLT(), and scalarOrVector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), buildCopyFromRegs(), llvm::LegalizeMutations::changeElementCountTo(), llvm::LegalizeMutations::changeElementCountTo(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::LegalizerHelper::lowerEXT(), llvm::LegalizerHelper::lowerTRUNC(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), and widenToNextPowerOf2().

changeElementSize()

LLT llvm::LLT::changeElementSize ( unsigned NewEltSize) const inlineconstexpr

If this type is a vector, return a vector with the same number of elements but the new element size.

Otherwise, return the new element type. Invalid for pointer types. For pointer types, use changeElementType.

Definition at line 219 of file LowLevelType.h.

References assert(), getElementCount(), isPointerOrPointerVector(), isVector(), LLT(), scalar(), and vector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), getMidVTForTruncRightShiftCombine(), llvm::SITargetLowering::getPreferredShiftAmountTy(), llvm::LegalizerHelper::getVectorElementPointer(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::LegalizerHelper::lowerAddSubSatToAddoSubo(), llvm::LegalizerHelper::lowerEXT(), llvm::LegalizerHelper::lowerFFloor(), llvm::LegalizerHelper::lowerFMinimumMaximum(), loweri64tof16ITOFP(), llvm::LegalizerHelper::lowerIntrinsicRound(), llvm::LegalizerHelper::lowerMinMax(), llvm::LegalizerHelper::lowerShlSat(), llvm::LegalizerHelper::lowerSMULH_UMULH(), llvm::LegalizerHelper::lowerThreewayCompare(), llvm::LegalizerHelper::lowerTRUNC(), llvm::CombinerHelper::matchSDivOrSRemByConst(), and llvm::CombinerHelper::matchUDivOrURemByConst().

changeElementType()

LLT llvm::LLT::changeElementType ( LLT NewEltTy) const inlineconstexpr

If this type is a vector, return a vector with the same number of elements but the new element type.

Otherwise, return the new element type.

Definition at line 212 of file LowLevelType.h.

References getElementCount(), isVector(), LLT(), and vector().

Referenced by llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastShuffleVector(), buildCopyFromRegs(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizeMutations::changeElementTo(), llvm::LegalizeMutations::changeElementTo(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::LegalizerHelper::lowerSelect(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizerHelper::moreElementsVector(), and llvm::LegalizerHelper::widenScalar().

divide()

LLT llvm::LLT::divide ( int Factor) const inlineconstexpr

dump()

fixed_vector() [1/2]

constexpr LLT llvm::LLT::fixed_vector ( unsigned NumElements, LLT ScalarTy ) inlinestaticconstexpr

fixed_vector() [2/2]

Get a low-level fixed-width vector of some number of elements and element width.

Definition at line 101 of file LowLevelType.h.

References llvm::ElementCount::getFixed(), LLT(), and vector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), buildCopyFromRegs(), llvm::LegalizeRuleSet::clampMinNumElements(), convertImageAddrToPacked(), llvm::LegalizerHelper::equalizeVectorShuffleLengths(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::generateBuiltinVar(), llvm::generateGroupInst(), llvm::generateImageSizeQueryInst(), llvm::genWorkgroupQuery(), getBufferRsrcRegisterType(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::AArch64TargetLowering::getOptimalMemOpLLT(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), getReadAnyLaneSplitTy(), llvm::SPIRVGlobalRegistry::getRegType(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPUCallLowering::handleImplicitCallArguments(), isExtractHiElt(), llvm::AMDGPULegalizerInfo::legalizeAtomicCmpXChg(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeBVHDualOrBVH8IntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), LLTToBId(), LLTToId(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerBitreverse(), llvm::LegalizerHelper::lowerLoad(), makeDstOps(), matchUniformityAndLLT(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), moreElementsToNextExistingRegClass(), llvm::LegalizeMutations::moreElementsToNextPow2(), llvm::LegalizerHelper::moreElementsVector(), moreEltsToNext32Bit(), multiplyElements(), oneMoreElement(), packImage16bitOpsToDwords(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), widen96To128(), llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize(), and llvm::X86LegalizerInfo::X86LegalizerInfo().

float16()

constexpr LLT llvm::LLT::float16 ( ) inlinestaticconstexpr

float32()

constexpr LLT llvm::LLT::float32 ( ) inlinestaticconstexpr

float64()

constexpr LLT llvm::LLT::float64 ( ) inlinestaticconstexpr

getAddressSpace()

unsigned llvm::LLT::getAddressSpace ( ) const inlineconstexpr

Definition at line 271 of file LowLevelType.h.

References assert(), and isPointerOrPointerVector().

Referenced by llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::createMemLibcall(), getElementType(), llvm::SIInstrInfo::getGenericInstructionUniformity(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(), llvm::CallLowering::handleAssignments(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::LegalizerHelper::lowerInsert(), print(), propagateSPIRVType(), and vector().

getElementCount()

ElementCount llvm::LLT::getElementCount ( ) const inlineconstexpr

Definition at line 184 of file LowLevelType.h.

References assert(), llvm::ElementCount::get(), and isScalable().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastShuffleVector(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildInstr(), canCreateUndefOrPoison(), llvm::LegalizeMutations::changeElementCountTo(), changeElementSize(), changeElementType(), divide(), llvm::getCoverTy(), llvm::getLCMType(), getMaskTypeFor(), getNumElements(), getSizeInBits(), llvm::LegalizerHelper::lowerEXT(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizerHelper::moreElementsVector(), multiplyElements(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), print(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateTruncExt(), and llvm::LegalizerHelper::widenScalar().

getElementType()

LLT llvm::LLT::getElementType ( ) const inlineconstexpr

Returns the vector's element type. Only valid for vector types.

Definition at line 278 of file LowLevelType.h.

References assert(), getAddressSpace(), getScalarSizeInBits(), isVector(), LLT(), pointer(), and scalar().

Referenced by llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::MachineIRBuilder::buildBuildVectorConstant(), buildCopyFromRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::MachineIRBuilder::buildStepVector(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), llvm::LegalizerHelper::equalizeVectorShuffleLengths(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), fewerEltsToSize64Vector(), llvm::getCoverTy(), llvm::getGCDType(), llvm::getLCMType(), getLMUL1Ty(), getNarrowTypeBreakDown(), getReadAnyLaneSplitTy(), getScalarType(), llvm::LegalizerHelper::getVectorElementPointer(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), hasBufferRsrcWorkaround(), llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(), isRegisterType(), isSmallOddVector(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), makeDstOps(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizeMutations::moreElementsToNextPow2(), llvm::LegalizerHelper::moreElementsVector(), moreEltsToNext32Bit(), multiplyElements(), oneMoreElement(), print(), registerSpirvTypeForNewInstructions(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), splitUnequalType(), widen96To128(), and llvm::LegalizerHelper::widenScalar().

getNumElements()

uint16_t llvm::LLT::getNumElements ( ) const inlineconstexpr

Returns the number of elements in a vector LLT.

Must only be called on vector types.

Definition at line 160 of file LowLevelType.h.

References getElementCount(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), isScalable(), and llvm::reportFatalInternalError().

Referenced by llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), buildCopyFromRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), clampVectorIndex(), llvm::GISelValueTracking::computeKnownBitsImpl(), deduceAndAssignTypeForGUnmerge(), deduceTypeForResultRegister(), deduceTypeFromSingleOperand(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), getPow2VectorType(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), hasSameNumEltsOnAllVectorOperands(), isVectorOfTwoOrScalar(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::SPIRVLegalizerInfo::legalizeIntrinsic(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerTRUNC(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineShuffleConcat(), llvm::CombinerHelper::matchExtractAllEltsFromBuildVector(), llvm::CombinerHelper::matchExtractVectorElement(), llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(), llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(), llvm::CombinerHelper::matchInsertVectorElementOOB(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::CombinerHelper::matchUseVectorTruncate(), moreElementsToNextExistingRegClass(), llvm::LegalizeMutations::moreElementsToNextPow2(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::moreElementsVectorShuffle(), numElementsNotEven(), llvm::LegalityPredicates::numElementsNotPow2(), registerSpirvTypeForNewInstructions(), llvm::RegBankSelect::repairReg(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::LegalityPredicates::vectorElementCountIsGreaterThan(), llvm::LegalityPredicates::vectorElementCountIsLessThanOrEqualTo(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

getScalarSizeInBits()

unsigned llvm::LLT::getScalarSizeInBits ( ) const inlineconstexpr

Definition at line 265 of file LowLevelType.h.

References isPointerOrPointerVector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::CombinerHelper::applyCombineMulToShl(), llvm::CombinerHelper::applyFunnelShiftConstantModulo(), llvm::CombinerHelper::applyLshrOfTruncOfLshr(), llvm::CombinerHelper::applyUMulHToLShr(), llvm::LegalizerHelper::bitcastShuffleVector(), llvm::MachineIRBuilder::buildConstant(), buildCopyFromRegs(), buildCopyToRegs(), llvm::CallLowering::IncomingValueHandler::buildExtensionHint(), llvm::MachineIRBuilder::buildFConstant(), llvm::CSEMIRBuilder::buildInstr(), llvm::CombinerHelper::buildSDivOrSRemUsingMul(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), llvm::LegalizerHelper::buildVariableShiftPart(), llvm::MachineIRBuilder::buildZExtInReg(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), llvm::ConstantFoldCastOp(), divide(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::extractParts(), llvm::getCoverTy(), getElementType(), getMidVTForTruncRightShiftCombine(), getNarrowTypeBreakDown(), getSizeInBits(), llvm::CallLowering::handleAssignments(), llvm::SITargetLowering::isFPExtFoldable(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerAbsToAddXor(), llvm::LegalizerHelper::lowerEXT(), llvm::LegalizerHelper::lowerFunnelShiftAsShifts(), llvm::LegalizerHelper::lowerFunnelShiftWithInverse(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerShlSat(), llvm::LegalizerHelper::lowerSMULH_UMULH(), llvm::LegalizerHelper::lowerTRUNC(), llvm::CombinerHelper::matchCastOfInteger(), llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), llvm::CombinerHelper::matchCombineTruncOfShift(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchSDivOrSRemByConst(), llvm::CombinerHelper::matchSextOfTrunc(), llvm::CombinerHelper::matchShiftsTooBig(), llvm::CombinerHelper::matchTruncateOfExt(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchZextOfTrunc(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarFLDEXP(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizerHelper::narrowScalarShiftByConstantMultiway(), llvm::LegalizerHelper::narrowScalarShiftMultiway(), print(), llvm::RegBankSelect::repairReg(), llvm::LegalityPredicates::scalarOrEltNarrowerThan(), llvm::LegalityPredicates::scalarOrEltSizeNotPow2(), llvm::LegalityPredicates::scalarOrEltWiderThan(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), llvm::LegalizerHelper::widenScalar(), and widenScalarType().

getScalarType()

LLT llvm::LLT::getScalarType ( ) const inlineconstexpr

Definition at line 206 of file LowLevelType.h.

References getElementType(), isVector(), and LLT().

Referenced by llvm::CombinerHelper::applyCombineInsertVecElts(), llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastShuffleVector(), llvm::MachineIRBuilder::buildConstant(), buildCopyFromRegs(), llvm::MachineIRBuilder::buildFConstant(), llvm::CSEMIRBuilder::buildInstr(), llvm::CombinerHelper::buildSDivOrSRemUsingMul(), llvm::MachineIRBuilder::buildShuffleVector(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), changeElementCount(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), llvm::getGCDType(), getMemsetValue(), isCopyCompatibleType(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::CombinerHelper::matchCastOfBuildVector(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizerHelper::moreElementsVector(), mutationIsSane(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), and llvm::LegalizerHelper::widenScalar().

getSizeInBits()

TypeSize llvm::LLT::getSizeInBits ( ) const inlineconstexpr

Returns the total size of the type. Must only be called on sized types.

Definition at line 191 of file LowLevelType.h.

References getElementCount(), llvm::TypeSize::getFixed(), getScalarSizeInBits(), isPointer(), and isScalar().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::CombinerHelper::applyCombineExtendingLoads(), llvm::CombinerHelper::applyCombineUnmergeZExtToZExt(), llvm::RegisterBankInfo::applyDefaultMapping(), llvm::CombinerHelper::applyExtractVecEltBuildVec(), llvm::CombinerHelper::applyFunnelShiftConstantModulo(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::LegalizerHelper::bitcast(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::AMDGPULegalizerInfo::buildAbsGlobalAddress(), buildBitFieldInsert(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildExtract(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), llvm::MachineIRBuilder::buildStepVector(), llvm::MachineIRBuilder::buildUnmerge(), llvm::MachineIRBuilder::buildUnmerge(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), clampVectorIndex(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), createAtomicLibcall(), llvm::createMemLibcall(), elementTypeIsLegal(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::extractParts(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), findGISelOptimalMemOpLowering(), getBitcastWiderVectorElementOffset(), llvm::LegalizerHelper::getDynStackAllocTargetPtr(), llvm::getGCDType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::getLCMType(), getLMUL1Ty(), getNarrowTypeBreakDown(), getReadAnyLaneSplitTy(), llvm::SITargetLowering::getRegisterByName(), getSizeInBytes(), llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(), llvm::LegalizerHelper::getVectorElementPointer(), isByteSized(), isCopyCompatibleType(), isRegisterType(), isRegisterVectorElementType(), isSmallOddVector(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeCTLZ_CTTZ(), llvm::RISCVLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::LegalizerHelper::libcall(), llvm::LegalizerHelper::lowerEXT(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerUnmergeValues(), llvm::LegalizerHelper::lowerVAArg(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::LegalizerHelper::lowerVectorReduction(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineExtendingLoads(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineUnmergeConstant(), llvm::CombinerHelper::matchCombineUnmergeMergeToPlainValues(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchConstantLargerBitWidth(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::LegalizeRuleSet::maxScalarIf(), mergeVectorRegsToResultRegs(), llvm::LegalizeRuleSet::minScalarIf(), moreEltsToNext32Bit(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTPOP(), llvm::LegalizerHelper::narrowScalarCTTZ(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarInsert(), llvm::LegalizerHelper::narrowScalarMul(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizerHelper::narrowScalarShiftByConstant(), llvm::LegalizerHelper::reduceLoadStoreWidth(), registerSpirvTypeForNewInstructions(), llvm::RegBankSelect::repairReg(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarWiderThan(), setRegsToType(), shouldBitcastLoadStoreType(), shouldWidenLoad(), sizeIsMultipleOf32(), llvm::LegalityPredicates::sizeNotMultipleOf(), llvm::LegalityPredicates::sizeNotPow2(), llvm::AMDGPURegisterBankInfo::split64BitValueForMapping(), splitUnequalType(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineExtract(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineUnmergeDefs(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::MachineIRBuilder::validateTruncExt(), vector(), vectorSmallerThan(), vectorWiderThan(), widen96To128(), llvm::LegalizerHelper::widenScalar(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

getSizeInBytes()

TypeSize llvm::LLT::getSizeInBytes ( ) const inlineconstexpr

Returns the total size of the type in bytes, i.e.

number of whole bytes needed to represent the size in bits. Must only be called on sized types.

Definition at line 201 of file LowLevelType.h.

References llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), getSizeInBits(), and llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable().

Referenced by llvm::buildAPFixedPointInst(), findGISelOptimalMemOpLowering(), getOutlineAtomicLibcall(), llvm::CallLowering::handleAssignments(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerStore(), and llvm::LegalityPredicates::memSizeNotByteSizePow2().

getUniqueRAWLLTData()

uint64_t llvm::LLT::getUniqueRAWLLTData ( ) const inlineconstexpr

isByteSized()

bool llvm::LLT::isByteSized ( ) const inlineconstexpr

isFixedVector()

bool llvm::LLT::isFixedVector ( ) const inlineconstexpr

Returns true if the LLT is a fixed vector.

Returns false otherwise, even if the LLT is not a vector type.

Definition at line 178 of file LowLevelType.h.

References isScalable(), and isVector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::getCoverTy(), llvm::getGCDType(), llvm::getLCMType(), llvm::CombinerHelper::matchExtractVectorElement(), llvm::CombinerHelper::matchInsertVectorElementOOB(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::LegalityPredicates::numElementsNotPow2(), llvm::LegalityPredicates::vectorElementCountIsGreaterThan(), llvm::LegalityPredicates::vectorElementCountIsLessThanOrEqualTo(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

isPointer()

bool llvm::LLT::isPointer ( ) const inlineconstexpr

Definition at line 150 of file LowLevelType.h.

References isValid().

Referenced by llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), llvm::MachineIRBuilder::buildAtomicRMW(), buildCopyFromRegs(), llvm::MachineIRBuilder::buildInstr(), llvm::createMemLibcall(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::MipsRegisterBankInfo::getInstrMapping(), getSizeInBits(), isCopyCompatibleType(), llvm::LegalityPredicates::isPointer(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), LLT(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerUnmergeValues(), llvm::CombinerHelper::matchSelectIMinMax(), print(), propagateSPIRVType(), llvm::MachineIRBuilder::validateSelectOp(), and vector().

isPointerOrPointerVector()

bool llvm::LLT::isPointerOrPointerVector ( ) const inlineconstexpr

isPointerVector()

bool llvm::LLT::isPointerVector ( ) const inlineconstexpr

isScalable()

bool llvm::LLT::isScalable ( ) const inlineconstexpr

isScalableVector()

bool llvm::LLT::isScalableVector ( ) const inlineconstexpr

isScalar()

bool llvm::LLT::isScalar ( ) const inlineconstexpr

Definition at line 147 of file LowLevelType.h.

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildInstr(), llvm::LegalizeRuleSet::clampScalar(), divide(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorSeqReductions(), llvm::MipsRegisterBankInfo::getInstrMapping(), getSizeInBits(), isCopyCompatibleType(), isVectorOfTwoOrScalar(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), LLT(), llvm::LegalizerHelper::lowerFMinimumMaximum(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::CombinerHelper::matchCombineExtendingLoads(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::LegalizeRuleSet::maxScalarIf(), llvm::LegalizeRuleSet::minScalarIf(), llvm::LegalizerHelper::narrowScalarShift(), print(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarWiderThan(), llvm::LegalityPredicates::sizeNotMultipleOf(), llvm::LegalityPredicates::sizeNotPow2(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::MachineIRBuilder::validateBinaryOp(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateShiftOp(), llvm::MachineIRBuilder::validateTruncExt(), llvm::MachineIRBuilder::validateUnaryOp(), and widenScalarType().

isToken()

bool llvm::LLT::isToken ( ) const inlineconstexpr

isValid()

bool llvm::LLT::isValid ( ) const inlineconstexpr

Definition at line 146 of file LowLevelType.h.

Referenced by llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), llvm::MachineIRBuilder::buildExtract(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), llvm::MachineRegisterInfo::constrainRegAttrs(), llvm::extractParts(), llvm::getFunctionLiveInPhysReg(), getNarrowTypeBreakDown(), llvm::MachineInstr::getTypeToPrint(), isPointer(), isPointerOrPointerVector(), isVector(), makeDstOps(), llvm::CombinerHelper::matchHoistLogicOpWithSameOpcodeHands(), llvm::LegalizerHelper::narrowScalarShift(), print(), llvm::MachineOperand::print(), llvm::LegalizerHelper::reduceLoadStoreWidth(), and llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().

isVector()

bool llvm::LLT::isVector ( ) const inlineconstexpr

Definition at line 149 of file LowLevelType.h.

References isValid().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::CombinerHelper::applySDivByPow2(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), llvm::LegalizeMutations::changeElementCountTo(), changeElementSize(), changeElementType(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), deduceAndAssignTypeForGUnmerge(), deduceTypeForResultRegister(), deduceTypeFromSingleOperand(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), findGISelOptimalMemOpLowering(), llvm::getCoverTy(), getElementType(), llvm::getGCDType(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::getLCMType(), getMaskTypeFor(), getNarrowTypeBreakDown(), getOutlineAtomicLibcall(), getScalarType(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), hasSameNumEltsOnAllVectorOperands(), isFixedVector(), isPointerVector(), isRegisterType(), isScalable(), isScalableVector(), isVectorOfTwoOrScalar(), isWideScalarExtLoadTruncStore(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::SPIRVLegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), LLT(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerThreewayCompare(), llvm::LegalizerHelper::lowerTRUNC(), llvm::CombinerHelper::matchCombineBuildUnmerge(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSuboCarryOut(), llvm::CombinerHelper::matchUDivOrURemByConst(), multiplyElements(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarExt(), llvm::LegalizerHelper::narrowScalarSelect(), llvm::LegalizerHelper::narrowScalarShift(), numElementsNotEven(), print(), registerSpirvTypeForNewInstructions(), llvm::RegBankSelect::repairReg(), shouldBitcastLoadStoreType(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike(), llvm::LegalizationArtifactCombiner::tryCombineUnmergeValues(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::MachineIRBuilder::validateBinaryOp(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateShiftOp(), llvm::MachineIRBuilder::validateTruncExt(), llvm::MachineIRBuilder::validateUnaryOp(), vector(), vectorSmallerThan(), vectorWiderThan(), and llvm::LegalizerHelper::widenScalar().

multiplyElements()

LLT llvm::LLT::multiplyElements ( int Factor) const inlineconstexpr

operator!=()

bool llvm::LLT::operator!= ( const LLT & RHS) const inlineconstexpr

operator==()

bool llvm::LLT::operator== ( const LLT & RHS) const inlineconstexpr

pointer()

Get a low-level pointer in the given address space.

Definition at line 58 of file LowLevelType.h.

References assert(), llvm::ElementCount::getFixed(), and LLT().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), addCallTargetOperands(), allocateHSAUserSGPRs(), llvm::SITargetLowering::allocateHSAUserSGPRs(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::AMDGPU::RegBankLegalizeHelper::applyMappingPHI(), llvm::ARMLegalizerInfo::ARMLegalizerInfo(), llvm::buildEnqueueKernel(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), llvm::LegalizerHelper::createStackTemporary(), emitLoadFromConstantPool(), getElementType(), llvm::AMDGPULegalizerInfo::getKernargParameterPtr(), getLeaOP(), llvm::getLLTForType(), llvm::SPIRVGlobalRegistry::getOrCreateConstNullPtr(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), llvm::SPIRVGlobalRegistry::getRegType(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), M68kOutgoingArgHandler::getStackAddress(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), llvm::CallLowering::handleAssignments(), llvm::CallLowering::insertSRetIncomingArgument(), llvm::CallLowering::insertSRetOutgoingArgument(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::MipsLegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::MipsCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), matchUniformityAndLLT(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), and llvm::X86LegalizerInfo::X86LegalizerInfo().

print()

scalable_vector() [1/2]

constexpr LLT llvm::LLT::scalable_vector ( unsigned MinNumElements, LLT ScalarTy ) inlinestaticconstexpr

scalable_vector() [2/2]

constexpr LLT llvm::LLT::scalable_vector ( unsigned MinNumElements, unsigned ScalarSizeInBits ) inlinestaticconstexpr

scalar()

constexpr LLT llvm::LLT::scalar ( unsigned SizeInBits) inlinestaticconstexpr

Get a low-level scalar or aggregate "bag of bits".

Definition at line 43 of file LowLevelType.h.

References llvm::ElementCount::getFixed(), and LLT().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(), allocateVGPR32Input(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::CombinerHelper::applyCombineShiftToUnmerge(), llvm::AMDGPUCombinerHelper::applyExpandPromotedF16FMed3(), llvm::AMDGPURegisterBankInfo::applyMappingBFE(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), llvm::AMDGPU::RegBankLegalizeHelper::applyMappingPHI(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), llvm::AMDGPURegisterBankInfo::applyMappingSMULU64(), llvm::CombinerHelper::applySDivByPow2(), llvm::ARMLegalizerInfo::ARMLegalizerInfo(), llvm::LegalizerHelper::bitcastConcatVector(), llvm::AMDGPULegalizerInfo::buildAbsGlobalAddress(), buildAnyextOrCopy(), llvm::buildAtomicCompareExchangeInst(), llvm::buildBoolRegister(), llvm::SPIRVGlobalRegistry::buildConstantFP(), llvm::SPIRVGlobalRegistry::buildConstantInt(), buildCopyFromRegs(), buildCopyToRegs(), buildExp(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::AMDGPULegalizerInfo::buildLoadInputValue(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::AMDGPULegalizerInfo::buildMultiply(), llvm::buildPipeInst(), llvm::AMDGPURegisterBankInfo::buildReadFirstLane(), llvm::MachineIRBuilder::buildShuffleSplat(), buildSplatSplitS64WithVL(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), llvm::LegalizerHelper::buildVariableShiftPart(), castBufferRsrcFromV4I32(), castBufferRsrcToV4I32(), changeElementSize(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizerHelper::coerceToScalar(), convertImageAddrToPacked(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), llvm::SPIRVGlobalRegistry::createConstFP(), llvm::SPIRVGlobalRegistry::createConstInt(), createTypeVReg(), llvm::RegisterBankInfo::OperandsMapper::createVRegs(), divide(), elementTypeIsLegal(), emitReciprocalU64(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), extendLow32IntoHigh32(), llvm::CallLowering::ValueHandler::extendRegister(), extractF64Exponent(), llvm::extractParts(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), findGISelOptimalMemOpLowering(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), float16(), float32(), float64(), llvm::generateBuiltinVar(), llvm::generateGroupInst(), llvm::generateICarryBorrowInst(), llvm::generateWaveInst(), llvm::genWorkgroupQuery(), getAnySgprS1(), getBitcastRegisterType(), getBufferRsrcRegisterType(), getBufferRsrcScalarType(), llvm::LegalizerHelper::getDynStackAllocTargetPtr(), getElementType(), llvm::getGCDType(), getHalfSizedType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::AMDGPULegalizerInfo::getKernargParameterPtr(), llvm::getLCMType(), llvm::getLLTForMVT(), llvm::getLLTForType(), llvm::MachineFunction::getMachineMemOperand(), getMaskTypeFor(), getNarrowTypeBreakDown(), llvm::AArch64TargetLowering::getOptimalMemOpLLT(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), getPow2ScalarType(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), getReadAnyLaneSplitTy(), llvm::AMDGPURegisterBankInfo::getRegBankFromRegClass(), RegBankSelectHelper::getRegBankToAssign(), llvm::AVRTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::getRegisterByName(), llvm::SPIRVGlobalRegistry::getRegType(), getScalarTypeFromMemDesc(), llvm::AMDGPULegalizerInfo::getScaledLogInput(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), M68kOutgoingArgHandler::getStackAddress(), llvm::TargetLoweringBase::getVectorIdxLLT(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), insertInlineAsmProcess(), isFPExtFromF16OrConst(), AMDGPURegBankLegalizeCombiner::isLaneMask(), isRegisterClassType(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferAtomic(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeBVHDualOrBVH8IntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::SPIRVLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFceil(), llvm::AMDGPULegalizerInfo::legalizeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFDIV16(), llvm::AMDGPULegalizerInfo::legalizeFDIV32(), llvm::AMDGPULegalizerInfo::legalizeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeFDIVFastIntrin(), llvm::AMDGPULegalizerInfo::legalizeFExp(), llvm::AMDGPULegalizerInfo::legalizeFExp10Unsafe(), llvm::AMDGPULegalizerInfo::legalizeFExp2(), llvm::AMDGPULegalizerInfo::legalizeFExpUnsafe(), llvm::AMDGPULegalizerInfo::legalizeFFloor(), llvm::AMDGPULegalizerInfo::legalizeFFREXP(), llvm::AMDGPULegalizerInfo::legalizeFlog2(), llvm::AMDGPULegalizerInfo::legalizeFlogCommon(), llvm::AMDGPULegalizerInfo::legalizeFlogUnsafe(), llvm::AMDGPULegalizerInfo::legalizeFPTOI(), llvm::AMDGPULegalizerInfo::legalizeFroundeven(), llvm::AMDGPULegalizerInfo::legalizeFSQRT(), llvm::AMDGPULegalizerInfo::legalizeFSQRTF16(), llvm::AMDGPULegalizerInfo::legalizeFSQRTF32(), llvm::AMDGPULegalizerInfo::legalizeFSQRTF64(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeIntrinsicTrunc(), llvm::AMDGPULegalizerInfo::legalizeIsAddrSpace(), llvm::AMDGPULegalizerInfo::legalizeITOFP(), llvm::AMDGPULegalizerInfo::legalizeKernargMemParameter(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::AMDGPULegalizerInfo::legalizeMul(), llvm::AMDGPULegalizerInfo::legalizePointerAsRsrcIntrin(), llvm::AMDGPULegalizerInfo::legalizeRsqClampIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeSignedDIV_REM(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM32Impl(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM64Impl(), llvm::AMDGPULegalizerInfo::legalizeWaveID(), llvm::AMDGPULegalizerInfo::legalizeWorkGroupId(), llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), LLTToBId(), LLTToId(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::LegalizerHelper::lowerAbsDiffToSelect(), llvm::LegalizerHelper::lowerAbsToCNeg(), llvm::AArch64CallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::LegalizerHelper::lowerExtract(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::SPIRVCallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPTOSI(), llvm::LegalizerHelper::lowerFPTOUI(), llvm::LegalizerHelper::lowerFPTRUNC(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerMergeValues(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::LegalizerHelper::lowerSITOFP(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerU64ToF32BitOps(), llvm::LegalizerHelper::lowerU64ToF32WithSITOFP(), llvm::LegalizerHelper::lowerU64ToF64BitFloatOps(), llvm::LegalizerHelper::lowerUITOFP(), llvm::LegalizerHelper::lowerVAArg(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::AMDGPUCombinerHelper::matchExpandPromotedF16FMed3(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchUDivOrURemByConst(), matchUniformityAndLLT(), llvm::LegalizeRuleSet::minScalarEltSameAsIf(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTTZ(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarInsert(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizerHelper::narrowScalarShiftMultiway(), packImage16bitOpsToDwords(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), llvm::LegalizerHelper::reduceLoadStoreWidth(), reinsertVectorIndexAdd(), llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), scalarOrVector(), llvm::AMDGPUInstructionSelector::select(), llvm::AMDGPURegisterBankInfo::setBufferOffsets(), llvm::MipsRegisterBankInfo::setRegBank(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), llvm::AMDGPULegalizerInfo::splitBufferOffsets(), llvm::AMDGPURegisterBankInfo::splitBufferOffsets(), splitUnequalType(), unpackV2S16ToS32(), valueIsKnownNeverF32Denorm(), widen96To128(), widenScalarType(), widenToNextPowerOf2(), llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize(), and llvm::X86LegalizerInfo::X86LegalizerInfo().

scalarOrVector() [1/2]

Definition at line 125 of file LowLevelType.h.

References LLT(), and vector().

Referenced by llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::LegalizerHelper::bitcastExtractVectorElt(), bitcastToVectorElement32(), changeElementCount(), llvm::LegalizeRuleSet::clampMaxNumElements(), divide(), fewerEltsToSize64Vector(), getBitcastRegisterType(), llvm::getCoverTy(), llvm::getGCDType(), getHalfSizedType(), llvm::getLLTForMVT(), getNarrowTypeBreakDown(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), multiplyElements(), scalarOrVector(), and splitUnequalType().

scalarOrVector() [2/2]

token()

constexpr LLT llvm::LLT::token ( ) inlinestaticconstexpr

vector() [1/2]

vector() [2/2]

Get a low-level vector of some number of elements and element width.

Definition at line 65 of file LowLevelType.h.

References assert(), and LLT().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::CombinerHelper::applySDivByPow2(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::buildBoolRegister(), buildCopyToRegs(), changeElementSize(), changeElementType(), fixed_vector(), fixed_vector(), getBufferRsrcScalarType(), llvm::getGCDType(), llvm::getLCMType(), llvm::getLLTForType(), getMaskTypeFor(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::narrowScalar(), scalable_vector(), scalable_vector(), scalarOrVector(), and llvm::LegalizerHelper::widenScalar().

DenseMapInfo< LLT >

GISelInstProfileBuilder


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