LLVM  17.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::LLT Class Reference

#include "llvm/Support/LowLevelTypeImpl.h"

Public Member Functions

constexpr LLT (bool isPointer, bool isVector, bool isScalar, ElementCount EC, uint64_t SizeInBits, unsigned AddressSpace)
 
constexpr LLT ()
 
 LLT (MVT VT)
 
constexpr bool isValid () const
 
constexpr bool isScalar () const
 
constexpr bool isPointer () const
 
constexpr bool isVector () const
 
constexpr uint16_t getNumElements () const
 Returns the number of elements in a vector LLT. More...
 
constexpr bool isScalable () const
 Returns true if the LLT is a scalable vector. More...
 
constexpr ElementCount getElementCount () const
 
constexpr TypeSize getSizeInBits () const
 Returns the total size of the type. Must only be called on sized types. More...
 
constexpr TypeSize getSizeInBytes () const
 Returns the total size of the type in bytes, i.e. More...
 
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. More...
 
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. More...
 
constexpr LLT changeElementCount (ElementCount EC) const
 Return a vector or scalar with the same element type and the new element count. More...
 
constexpr LLT divide (int Factor) const
 Return a type that is Factor times smaller. More...
 
constexpr LLT multiplyElements (int Factor) const
 Produce a vector type that is Factor times bigger, preserving the element type. More...
 
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. More...
 
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". More...
 
static constexpr LLT pointer (unsigned AddressSpace, unsigned SizeInBits)
 Get a low-level pointer in the given address space. More...
 
static constexpr LLT vector (ElementCount EC, unsigned ScalarSizeInBits)
 Get a low-level vector of some number of elements and element width. More...
 
static constexpr LLT vector (ElementCount EC, LLT ScalarTy)
 Get a low-level vector of some number of elements and element type. More...
 
static constexpr LLT fixed_vector (unsigned NumElements, unsigned ScalarSizeInBits)
 Get a low-level fixed-width vector of some number of elements and element width. More...
 
static constexpr LLT fixed_vector (unsigned NumElements, LLT ScalarTy)
 Get a low-level fixed-width vector of some number of elements and element type. More...
 
static constexpr LLT scalable_vector (unsigned MinNumElements, unsigned ScalarSizeInBits)
 Get a low-level scalable vector of some number of elements and element width. More...
 
static constexpr LLT scalable_vector (unsigned MinNumElements, LLT ScalarTy)
 Get a low-level scalable vector of some number of elements and element type. More...
 
static constexpr LLT scalarOrVector (ElementCount EC, LLT ScalarTy)
 
static constexpr LLT scalarOrVector (ElementCount EC, uint64_t ScalarSize)
 

Friends

struct DenseMapInfo< LLT >
 
class GISelInstProfileBuilder
 

Detailed Description

Definition at line 39 of file LowLevelTypeImpl.h.

Constructor & Destructor Documentation

◆ LLT() [1/3]

constexpr llvm::LLT::LLT ( bool  isPointer,
bool  isVector,
bool  isScalar,
ElementCount  EC,
uint64_t  SizeInBits,
unsigned  AddressSpace 
)
inlineexplicitconstexpr

Definition at line 110 of file LowLevelTypeImpl.h.

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

◆ LLT() [2/3]

constexpr llvm::LLT::LLT ( )
inlineexplicitconstexpr

Definition at line 116 of file LowLevelTypeImpl.h.

◆ LLT() [3/3]

LLT::LLT ( MVT  VT)
explicit

Member Function Documentation

◆ changeElementCount()

constexpr LLT llvm::LLT::changeElementCount ( ElementCount  EC) const
inlineconstexpr

◆ changeElementSize()

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

◆ changeElementType()

constexpr 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 180 of file LowLevelTypeImpl.h.

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

Referenced by buildCopyFromRegs(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizeMutations::changeElementTo(), and llvm::LegalizerHelper::lowerSelect().

◆ divide()

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

Return a type that is Factor times smaller.

Reduces the number of elements if this is a vector, or the bitwidth for scalar/pointers. Does not attempt to handle cases that aren't evenly divisible.

Definition at line 203 of file LowLevelTypeImpl.h.

References assert(), getElementCount(), getElementType(), getScalarSizeInBits(), isScalar(), isVector(), scalar(), and scalarOrVector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), and llvm::LegalizationArtifactCombiner::tryCombineUnmergeValues().

◆ dump()

LLVM_DUMP_METHOD void llvm::LLT::dump ( ) const
inline

Definition at line 268 of file LowLevelTypeImpl.h.

References llvm::dbgs(), and print().

◆ fixed_vector() [1/2]

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

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

Definition at line 83 of file LowLevelTypeImpl.h.

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

◆ fixed_vector() [2/2]

static constexpr LLT llvm::LLT::fixed_vector ( unsigned  NumElements,
unsigned  ScalarSizeInBits 
)
inlinestaticconstexpr

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

Definition at line 76 of file LowLevelTypeImpl.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), AMDGPUPreLegalizerCombinerHelper::applyClampI64ToI16(), applyDupLane(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), buildCopyFromRegs(), llvm::LegalizeRuleSet::clampMinNumElements(), convertImageAddrToPacked(), createNewIdReg(), equalizeVectorShuffleLengths(), llvm::generateBuiltinVar(), llvm::generateImageSizeQueryInst(), llvm::genWorkgroupQuery(), llvm::getGCDType(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::getLCMType(), llvm::AArch64TargetLowering::getOptimalMemOpLLT(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPUCallLowering::handleImplicitCallArguments(), llvm::AMDGPU::hasAtomicFaddRtnForTy(), isExtractHiElt(), llvm::AMDGPULegalizerInfo::legalizeAtomicCmpXChg(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::LegalizerHelper::lowerBitcast(), makeDstOps(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::LegalizeMutations::moreElementsToNextPow2(), moreEltsToNext32Bit(), multiplyElements(), oneMoreElement(), packImage16bitOpsToDwords(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), and widen96To128().

◆ getAddressSpace()

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

◆ getElementCount()

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

◆ getElementType()

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

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

Definition at line 257 of file LowLevelTypeImpl.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), applyINS(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::MachineIRBuilder::buildBuildVectorConstant(), llvm::CSEMIRBuilder::buildConstant(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::CSEMIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::MachineIRBuilder::buildShuffleVector(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), llvm::LegalizerHelper::coerceToScalar(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), equalizeVectorShuffleLengths(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), fewerEltsToSize64Vector(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), llvm::getApproximateEVTForLLT(), llvm::getCoverTy(), llvm::getGCDType(), getHalfSizedType(), llvm::getLCMType(), llvm::getMVTForLLT(), getScalarType(), llvm::LegalizerHelper::getVectorElementPointer(), getVectorSHLImm(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(), isRegisterVectorType(), isSmallOddVector(), llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), loadStoreBitcastWorkaround(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerExtract(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::LegalizerHelper::lowerStore(), makeDstOps(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), matchDupLane(), llvm::LegalizeMutations::moreElementsToNextPow2(), moreEltsToNext32Bit(), multiplyElements(), oneMoreElement(), print(), shouldBitcastLoadStoreType(), splitUnequalType(), widen96To128(), and llvm::LegalizerHelper::widenScalar().

◆ getNumElements()

constexpr 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 133 of file LowLevelTypeImpl.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), applyDupLane(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::MachineIRBuilder::buildShuffleVector(), clampDynamicVectorIndex(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), llvm::GISelKnownBits::computeNumSignBits(), equalizeVectorShuffleLengths(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorMultiEltType(), llvm::LegalizerHelper::fewerElementsVectorPhi(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), fewerEltsToSize64Vector(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), llvm::getCoverTy(), llvm::getGCDType(), llvm::GISelKnownBits::getKnownBits(), llvm::getLCMType(), llvm::getMVTForLLT(), getPow2VectorType(), getTypeForLLT(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::handleD16VData(), hasSameNumEltsOnAllVectorOperands(), isRegisterVectorType(), isSingletonExtMask(), isSmallOddVector(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerInsert(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::CombinerHelper::matchCombineConcatVectors(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineShuffleVector(), matchDupLane(), matchEXT(), llvm::CombinerHelper::matchExtractAllEltsFromBuildVector(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), matchINS(), llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(), matchREV(), matchTRN(), matchUZP(), matchZip(), llvm::LegalizeMutations::moreElementsToNextPow2(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::moreElementsVectorShuffle(), mutationIsSane(), numElementsNotEven(), llvm::LegalityPredicates::numElementsNotPow2(), oneMoreElement(), llvm::RegBankSelect::repairReg(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateTruncExt(), and widenToNextPowerOf2().

◆ getScalarSizeInBits()

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

Definition at line 233 of file LowLevelTypeImpl.h.

References llvm_unreachable.

Referenced by llvm::CombinerHelper::applyAshShlToSextInreg(), llvm::CombinerHelper::applyRotateOutOfRange(), llvm::CombinerHelper::applyShiftImmedChain(), llvm::CombinerHelper::applyUMulHToLShr(), llvm::MachineIRBuilder::buildConstant(), buildCopyFromRegs(), buildCopyToRegs(), llvm::CallLowering::IncomingValueHandler::buildExtensionHint(), llvm::MachineIRBuilder::buildFConstant(), buildLogBase2(), llvm::CombinerHelper::buildUDivUsingMul(), llvm::MachineIRBuilder::buildZExtInReg(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::GISelKnownBits::computeKnownBitsImpl(), llvm::GISelKnownBits::computeNumSignBits(), llvm::ConstantFoldExtOp(), llvm::SITargetLowering::denormalsEnabledForType(), divide(), llvm::getCoverTy(), getElementType(), getHalfSizedType(), getMemsetValue(), getMidVTForTruncRightShiftCombine(), getNarrowTypeBreakDown(), llvm::SITargetLowering::getPreferredShiftAmountTy(), getSizeInBits(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), getTypeForLLT(), llvm::isConstantOrConstantSplatVector(), llvm::SITargetLowering::isFMADLegal(), llvm::TargetLoweringBase::isFMADLegal(), llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::SITargetLowering::isFPExtFoldable(), llvm::isKnownToBeAPowerOfTwo(), isVShiftRImm(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerAbsToAddXor(), llvm::LegalizerHelper::lowerAddSubSatToAddoSubo(), llvm::LegalizerHelper::lowerAddSubSatToMinMax(), llvm::LegalizerHelper::lowerBswap(), llvm::LegalizerHelper::lowerFCopySign(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPTOSI(), llvm::LegalizerHelper::lowerFunnelShiftAsShifts(), llvm::LegalizerHelper::lowerFunnelShiftWithInverse(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::lowerRotate(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShlSat(), llvm::LegalizerHelper::lowerSMULH_UMULH(), lowerVectorFCMP(), llvm::CombinerHelper::matchBitfieldExtractFromAnd(), llvm::CombinerHelper::matchBitfieldExtractFromShrAnd(), llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), llvm::CombinerHelper::matchCombineTruncOfShift(), llvm::CombinerHelper::matchCombineZextTrunc(), matchEXT(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchRedundantSExtInReg(), matchREV(), llvm::CombinerHelper::matchRotateOutOfRange(), llvm::CombinerHelper::matchSelectToLogical(), llvm::CombinerHelper::matchShiftImmedChain(), llvm::CombinerHelper::matchShiftOfShiftedLogic(), llvm::CombinerHelper::matchTruncStoreMerge(), llvm::LegalizeRuleSet::maxScalarOrElt(), llvm::LegalizeRuleSet::minScalarOrElt(), llvm::LegalizeRuleSet::minScalarOrEltIf(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarShift(), print(), llvm::RegBankSelect::repairReg(), llvm::LegalityPredicates::scalarOrEltNarrowerThan(), llvm::LegalityPredicates::scalarOrEltSizeNotPow2(), llvm::LegalityPredicates::scalarOrEltWiderThan(), llvm::GISelKnownBits::signBitIsZero(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), tryToSimplifyUADDO(), llvm::LegalizerHelper::widenScalar(), llvm::LegalizeMutations::widenScalarOrEltToNextMultipleOf(), and llvm::LegalizeMutations::widenScalarOrEltToNextPow2().

◆ getScalarType()

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

◆ getSizeInBits()

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

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

Definition at line 159 of file LowLevelTypeImpl.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::SITargetLowering::allowsMisalignedMemoryAccesses(), llvm::CombinerHelper::applyCombineExtendingLoads(), llvm::CombinerHelper::applyCombineShiftToUnmerge(), llvm::CombinerHelper::applyCombineTruncOfExt(), llvm::CombinerHelper::applyCombineUnmergeWithDeadLanesToTrunc(), llvm::CombinerHelper::applyCombineUnmergeZExtToZExt(), AMDGPUPostLegalizerCombinerHelper::applyCvtF32UByteN(), llvm::RegisterBankInfo::applyDefaultMapping(), llvm::CombinerHelper::applyExtractVecEltBuildVec(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), llvm::CombinerHelper::applyTruncStoreMerge(), llvm::LegalizerHelper::bitcast(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), bitcastToVectorElement32(), buildBitFieldInsert(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildExtract(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), llvm::AMDGPURegisterBankInfo::buildReadFirstLane(), llvm::MachineIRBuilder::buildUnmerge(), llvm::AMDGPURegisterBankInfo::buildVCopy(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), clampDynamicVectorIndex(), llvm::LegalizerHelper::coerceToScalar(), llvm::SITargetLowering::computeKnownBitsForTargetInstr(), llvm::GISelKnownBits::computeKnownBitsImpl(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), llvm::createMemLibcall(), elementTypeIsLegal(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::InstructionSelector::executeMatchTable(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), fewerEltsToSize64Vector(), findGISelOptimalMemOpLowering(), llvm::getApproximateEVTForLLT(), getBitcastRegisterType(), getBitcastWiderVectorElementOffset(), getCmpOperandFoldingProfit(), getFloatTypeForLLT(), llvm::getFltSemanticForLLT(), llvm::getGCDType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::getLCMType(), llvm::getMVTForLLT(), getNarrowTypeBreakDown(), llvm::X86GenRegisterBankInfo::getPartialMappingIdx(), getPow2ScalarType(), llvm::SIRegisterInfo::getRegClassForTypeOnBank(), llvm::SITargetLowering::getRegisterByName(), llvm::TargetRegisterInfo::getRegSizeInBits(), getSizeInBytes(), getTestBitReg(), getTypeForLLT(), llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(), llvm::LegalizerHelper::getVectorElementPointer(), getVectorSHLImm(), isByteSized(), llvm::LegalityPredicates::TypePairAndMemDesc::isCompatible(), isCopyCompatibleType(), isLoadStoreSizeLegal(), isRegisterType(), isRegisterVectorElementType(), isRegisterVectorType(), isSmallOddVector(), isWideScalarExtLoadTruncStore(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeCTLZ_CTTZ(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeFrint(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeMul(), llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeSignedDIV_REM(), llvm::LegalizerHelper::libcall(), loadStoreBitcastWorkaround(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerBitCount(), llvm::LegalizerHelper::lowerBitreverse(), llvm::AArch64CallLowering::lowerCall(), llvm::LegalizerHelper::lowerDynStackAlloc(), llvm::LegalizerHelper::lowerExtract(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPTOUI(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerMergeValues(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerUnmergeValues(), llvm::LegalizerHelper::lowerVectorReduction(), matchAArch64MulConstCombine(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineExtendingLoads(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineShiftToUnmerge(), llvm::CombinerHelper::matchCombineUnmergeConstant(), llvm::CombinerHelper::matchCombineUnmergeMergeToPlainValues(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), matchDupLane(), matchExtractVecEltPairwiseAdd(), matchFConstantToConstant(), matchFormTruncstore(), matchICmpRedundantTrunc(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchLoadOrCombine(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSextTruncSextLoad(), matchSplitStoreZero128(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), llvm::CombinerHelper::matchTruncStoreMerge(), AMDGPUPostLegalizerCombinerHelper::matchUCharToFloat(), llvm::LegalizeRuleSet::maxScalar(), llvm::LegalizeRuleSet::maxScalarIf(), mergeVectorRegsToResultRegs(), llvm::LegalizeRuleSet::minScalar(), 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::narrowScalarShiftByConstant(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::RegBankSelect::repairReg(), llvm::InstructionSelect::runOnMachineFunction(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarWiderThan(), selectFPConvOpc(), selectMergeValues(), selectUnmergeValues(), 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 widenToNextPowerOf2().

◆ getSizeInBytes()

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

◆ getUniqueRAWLLTData()

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

◆ isByteSized()

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

◆ isPointer()

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

◆ isScalable()

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

Returns true if the LLT is a scalable vector.

Must only be called on vector types.

Definition at line 144 of file LowLevelTypeImpl.h.

References assert(), and isVector().

Referenced by getElementCount(), and getNumElements().

◆ isScalar()

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

Definition at line 123 of file LowLevelTypeImpl.h.

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), AMDGPUPostLegalizerCombinerHelper::applyCvtF32UByteN(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), llvm::MachineIRBuilder::buildAtomicRMW(), llvm::MachineIRBuilder::buildCast(), buildCopyToRegs(), llvm::MachineIRBuilder::buildInstr(), llvm::CombinerHelper::buildUDivUsingMul(), llvm::LegalizeRuleSet::clampScalar(), llvm::LegalizerHelper::coerceToScalar(), divide(), llvm::LegalizerHelper::fewerElementsVectorReductions(), getFloatTypeForLLT(), llvm::getFltSemanticForLLT(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::X86GenRegisterBankInfo::getPartialMappingIdx(), getSizeInBits(), isCopyCompatibleType(), llvm::SITargetLowering::isFMADLegal(), llvm::AMDGPULegalizerInfo::legalizeFMad(), llvm::AMDGPULegalizerInfo::legalizeFrint(), llvm::AMDGPULegalizerInfo::legalizeMul(), LLT(), llvm::LegalizerHelper::lowerExtract(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::LegalizerHelper::lowerVectorReduction(), llvm::CombinerHelper::matchCombineExtendingLoads(), matchICmpRedundantTrunc(), matchMutateAnyExtToZExt(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchTruncStoreMerge(), llvm::MachineIRBuilder::materializePtrAdd(), llvm::LegalizeRuleSet::maxScalarIf(), llvm::LegalizeRuleSet::minScalarIf(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTPOP(), llvm::LegalizerHelper::narrowScalarCTTZ(), print(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarWiderThan(), selectFPConvOpc(), llvm::LegalityPredicates::sizeNotMultipleOf(), llvm::LegalityPredicates::sizeNotPow2(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), tryToSimplifyUADDO(), llvm::MachineIRBuilder::validateBinaryOp(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateShiftOp(), llvm::MachineIRBuilder::validateTruncExt(), llvm::MachineIRBuilder::validateUnaryOp(), and llvm::LegalizerHelper::widenScalar().

◆ isValid()

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

◆ isVector()

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

Definition at line 129 of file LowLevelTypeImpl.h.

References isValid().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::CombinerHelper::applyCombineUnmergeWithDeadLanesToTrunc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), applySplitStoreZero128(), llvm::LegalizerHelper::bitcast(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::CSEMIRBuilder::buildConstant(), llvm::MachineIRBuilder::buildConstant(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::CSEMIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildFConstant(), llvm::CSEMIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::CombinerHelper::buildSDivUsingMul(), llvm::CombinerHelper::buildUDivUsingMul(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), llvm::LegalizeMutations::changeElementCountTo(), changeElementSize(), changeElementType(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizerHelper::coerceToScalar(), llvm::GISelKnownBits::computeKnownBitsImpl(), llvm::GISelKnownBits::computeNumSignBits(), llvm::ConstantFoldCTLZ(), createNewIdReg(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), findGISelOptimalMemOpLowering(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), llvm::getApproximateEVTForLLT(), getCmpOperandFoldingProfit(), llvm::getCoverTy(), getElementType(), llvm::getGCDType(), getHalfSizedType(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::GISelKnownBits::getKnownBits(), llvm::getLCMType(), getMemsetValue(), llvm::getMVTForLLT(), getNarrowTypeBreakDown(), getScalarType(), getTypeForLLT(), getVectorFCMP(), getVectorShiftImm(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::handleD16VData(), hasSameNumEltsOnAllVectorOperands(), llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(), isLoadStoreSizeLegal(), isRegisterType(), isScalable(), isSmallOddVector(), isVShiftRImm(), isWideScalarExtLoadTruncStore(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(), LLT(), loadStoreBitcastWorkaround(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerExtract(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::lowerLoad(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::LegalizerHelper::lowerStore(), lowerVectorFCMP(), makeDstOps(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineShiftToUnmerge(), llvm::CombinerHelper::matchCombineShuffleVector(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchExtendThroughPhis(), matchFormTruncstore(), llvm::CombinerHelper::matchFsubToFneg(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchICmpToTrueFalseKnownBits(), llvm::CombinerHelper::matchLoadOrCombine(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchPtrAddZero(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSextTruncSextLoad(), matchSplitStoreZero128(), llvm::CombinerHelper::matchUDivByConst(), matchVAshrLshrImm(), matchVectorSextInReg(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::moreElementsVectorShuffle(), multiplyElements(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::LegalizerHelper::narrowScalarExt(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarMul(), llvm::LegalizerHelper::narrowScalarSelect(), llvm::LegalizerHelper::narrowScalarShift(), numElementsNotEven(), llvm::LegalityPredicates::numElementsNotPow2(), print(), processInstrsWithTypeFolding(), llvm::RegBankSelect::repairReg(), shouldBitcastLoadStoreType(), splitUnequalType(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), llvm::MachineIRBuilder::validateBinaryOp(), llvm::MachineIRBuilder::validateSelectOp(), llvm::MachineIRBuilder::validateShiftOp(), llvm::MachineIRBuilder::validateTruncExt(), llvm::MachineIRBuilder::validateUnaryOp(), vector(), vectorSmallerThan(), vectorWiderThan(), widen96To128(), llvm::LegalizerHelper::widenScalar(), and widenToNextPowerOf2().

◆ multiplyElements()

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

Produce a vector type that is Factor times bigger, preserving the element type.

For a scalar or pointer, this will produce a new vector with Factor elements.

Definition at line 220 of file LowLevelTypeImpl.h.

References fixed_vector(), getElementCount(), getElementType(), isVector(), and scalarOrVector().

◆ operator!=()

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

Definition at line 279 of file LowLevelTypeImpl.h.

References RHS.

◆ operator==()

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

Definition at line 274 of file LowLevelTypeImpl.h.

References RHS.

◆ pointer()

static constexpr LLT llvm::LLT::pointer ( unsigned  AddressSpace,
unsigned  SizeInBits 
)
inlinestaticconstexpr

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

Definition at line 49 of file LowLevelTypeImpl.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), addCallTargetOperands(), allocateHSAUserSGPRs(), llvm::SITargetLowering::allocateHSAUserSGPRs(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::ARMLegalizerInfo::ARMLegalizerInfo(), llvm::buildBuiltinVariableLoad(), llvm::buildEnqueueKernel(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), createNewIdReg(), llvm::LegalizerHelper::createStackTemporary(), getElementType(), llvm::AMDGPULegalizerInfo::getKernargParameterPtr(), llvm::getLLTForType(), llvm::SPIRVGlobalRegistry::getOrCreateConstNullPtr(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), M68kOutgoingArgHandler::getStackAddress(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), llvm::CallLowering::insertSRetIncomingArgument(), llvm::CallLowering::insertSRetOutgoingArgument(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::MipsLegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::MipsCallLowering::lowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), and llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().

◆ print()

void LLT::print ( raw_ostream OS) const

◆ scalable_vector() [1/2]

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

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

Definition at line 96 of file LowLevelTypeImpl.h.

References llvm::ElementCount::getScalable(), and vector().

◆ scalable_vector() [2/2]

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

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

Definition at line 89 of file LowLevelTypeImpl.h.

References llvm::ElementCount::getScalable(), and vector().

◆ scalar()

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

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

Definition at line 42 of file LowLevelTypeImpl.h.

References llvm::ElementCount::getFixed().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(), allocateVGPR32Input(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), AMDGPUPreLegalizerCombinerHelper::applyClampI64ToI16(), llvm::CombinerHelper::applyCombineShiftToUnmerge(), llvm::CombinerHelper::applyCombineUnmergeWithDeadLanesToTrunc(), AMDGPUPostLegalizerCombinerHelper::applyCvtF32UByteN(), applyDupLane(), applyEXT(), applyExtractVecEltPairwiseAdd(), applyFoldGlobalOffset(), applyINS(), llvm::AMDGPURegisterBankInfo::applyMappingBFE(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), applySplitStoreZero128(), AMDGPUPostLegalizerCombinerHelper::applyUCharToFloat(), applyVAshrLshrImm(), llvm::ARMLegalizerInfo::ARMLegalizerInfo(), buildAnyextOrCopy(), llvm::buildAtomicCompareExchangeInst(), llvm::buildBoolRegister(), llvm::SPIRVGlobalRegistry::buildConstantFP(), llvm::SPIRVGlobalRegistry::buildConstantInt(), buildCopyFromRegs(), buildCopyToRegs(), llvm::MachineIRBuilder::buildExtractVectorElementConstant(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::buildLoadInst(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::AMDGPULegalizerInfo::buildMultiply(), llvm::AMDGPURegisterBankInfo::buildReadFirstLane(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::CombinerHelper::buildUDivUsingMul(), changeElementSize(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizerHelper::coerceToScalar(), convertImageAddrToPacked(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), createNewIdReg(), createTypeVReg(), llvm::RegisterBankInfo::OperandsMapper::createVRegs(), divide(), elementTypeIsLegal(), emitReciprocalU64(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), extendLow32IntoHigh32(), llvm::CallLowering::ValueHandler::extendRegister(), extractF64Exponent(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), findGISelOptimalMemOpLowering(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), llvm::generateBuiltinVar(), llvm::generateReadImageInst(), llvm::genWorkgroupQuery(), getBitcastRegisterType(), getElementType(), llvm::getGCDType(), getHalfSizedType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPULegalizerInfo::getKernargParameterPtr(), llvm::getLCMType(), llvm::getLLTForMVT(), llvm::getLLTForType(), llvm::MachineFunction::getMachineMemOperand(), getNarrowTypeBreakDown(), llvm::AArch64TargetLowering::getOptimalMemOpLLT(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), getPow2ScalarType(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), llvm::AMDGPURegisterBankInfo::getRegBankFromRegClass(), llvm::AVRTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::getRegisterByName(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), M68kOutgoingArgHandler::getStackAddress(), llvm::AMDGPURegisterBankInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPU::hasAtomicFaddRtnForTy(), llvm::AMDGPUTargetLowering::isConstantUnsignedBitfieldExtractLegal(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferAtomic(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::SPIRVLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeFceil(), llvm::AMDGPULegalizerInfo::legalizeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFDIV16(), llvm::AMDGPULegalizerInfo::legalizeFDIV32(), llvm::AMDGPULegalizerInfo::legalizeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeFDIVFastIntrin(), llvm::AMDGPULegalizerInfo::legalizeFFloor(), llvm::AMDGPULegalizerInfo::legalizeFMad(), llvm::AMDGPULegalizerInfo::legalizeFPow(), llvm::AMDGPULegalizerInfo::legalizeFPTOI(), llvm::AMDGPULegalizerInfo::legalizeFrint(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeIntrinsicTrunc(), llvm::AMDGPULegalizerInfo::legalizeIsAddrSpace(), llvm::AMDGPULegalizerInfo::legalizeITOFP(), llvm::AMDGPULegalizerInfo::legalizeKernargMemParameter(), llvm::AMDGPULegalizerInfo::legalizeMul(), 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::legalizeWorkitemIDIntrinsic(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::SPIRV::lowerBuiltin(), llvm::SPIRVCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::LegalizerHelper::lowerDynStackAlloc(), llvm::LegalizerHelper::lowerExtract(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::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::lowerUITOFP(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), matchAArch64MulConstCombine(), AMDGPUPreLegalizerCombinerHelper::matchClampI64ToI16(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), AMDGPUPostLegalizerCombinerHelper::matchFMinFMaxLegacy(), matchFoldMergeToZext(), AMDGPURegBankCombinerHelper::matchFPMinMaxToMed3(), AMDGPURegBankCombinerHelper::matchIntMinMaxToMed3(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchSextInRegOfLoad(), AMDGPUPostLegalizerCombinerHelper::matchUCharToFloat(), llvm::CombinerHelper::matchUDivByConst(), matchZeroExtendFromS32(), 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(), packImage16bitOpsToDwords(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), processInstrsWithTypeFolding(), llvm::LegalizerHelper::reduceLoadStoreWidth(), reinsertVectorIndexAdd(), scalarOrVector(), setBufferOffsets(), llvm::MipsRegisterBankInfo::setRegBank(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), llvm::AMDGPURegisterBankInfo::splitBufferOffsets(), llvm::AMDGPULegalizerInfo::splitBufferOffsets(), splitUnequalType(), tryToSimplifyUADDO(), unpackV2S16ToS32(), widen96To128(), widenToNextPowerOf2(), and llvm::X86LegalizerInfo::X86LegalizerInfo().

◆ scalarOrVector() [1/2]

static constexpr LLT llvm::LLT::scalarOrVector ( ElementCount  EC,
LLT  ScalarTy 
)
inlinestaticconstexpr

◆ scalarOrVector() [2/2]

static constexpr LLT llvm::LLT::scalarOrVector ( ElementCount  EC,
uint64_t  ScalarSize 
)
inlinestaticconstexpr

Definition at line 104 of file LowLevelTypeImpl.h.

References assert(), llvm::max(), scalar(), and scalarOrVector().

◆ vector() [1/2]

static constexpr LLT llvm::LLT::vector ( ElementCount  EC,
LLT  ScalarTy 
)
inlinestaticconstexpr

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

Definition at line 63 of file LowLevelTypeImpl.h.

References assert(), getAddressSpace(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), getSizeInBits(), isPointer(), and isVector().

◆ vector() [2/2]

static constexpr LLT llvm::LLT::vector ( ElementCount  EC,
unsigned  ScalarSizeInBits 
)
inlinestaticconstexpr

Friends And Related Function Documentation

◆ DenseMapInfo< LLT >

friend struct DenseMapInfo< LLT >
friend

Definition at line 281 of file LowLevelTypeImpl.h.

◆ GISelInstProfileBuilder

friend class GISelInstProfileBuilder
friend

Definition at line 282 of file LowLevelTypeImpl.h.


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