Movatterモバイル変換


[0]ホーム

URL:


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

#include "llvm/CodeGenTypes/LowLevelType.h"

Public Member Functions

constexpr LLT (boolisPointer,boolisVector,boolisScalar,ElementCount EC,uint64_t SizeInBits,unsignedAddressSpace)
 
constexpr LLT ()
 
 LLT (MVT VT)
 
constexprbool isValid ()const
 
constexprbool isScalar ()const
 
constexprbool isToken ()const
 
constexprbool isVector ()const
 
constexprbool isPointer ()const
 
constexprbool isPointerVector ()const
 
constexprbool isPointerOrPointerVector ()const
 
constexpruint16_t getNumElements ()const
 Returns the number of elements in a vectorLLT.
 
constexprbool isScalable ()const
 Returns true if theLLT is a scalable vector.
 
constexprbool isFixedVector ()const
 Returns true if theLLT is a fixed vector.
 
constexprbool isScalableVector ()const
 Returns true if theLLT is a scalable vector.
 
constexprElementCount getElementCount ()const
 
constexprTypeSize getSizeInBits ()const
 Returns the total size of the type. Must only be called on sized types.
 
constexprTypeSize getSizeInBytes ()const
 Returns the total size of the type in bytes, i.e.
 
constexprLLT getScalarType ()const
 
constexprLLT changeElementType (LLT NewEltTy)const
 If this type is a vector, return a vector with the same number of elements but the new element type.
 
constexprLLT changeElementSize (unsigned NewEltSize)const
 If this type is a vector, return a vector with the same number of elements but the new element size.
 
constexprLLT changeElementCount (ElementCount EC)const
 Return a vector or scalar with the same element type and the new element count.
 
constexprLLT divide (int Factor)const
 Return a type that isFactor times smaller.
 
constexprLLT multiplyElements (int Factor)const
 Produce a vector type that isFactor times bigger, preserving the element type.
 
constexprbool isByteSized ()const
 
constexprunsigned getScalarSizeInBits ()const
 
constexprunsigned getAddressSpace ()const
 
constexprLLT getElementType ()const
 Returns the vector's element type. Only valid for vector types.
 
void print (raw_ostream &OS)const
 
LLVM_DUMP_METHOD void dump ()const
 
constexprbool operator== (constLLT &RHS)const
 
constexprbool operator!= (constLLT &RHS)const
 
constexpruint64_t getUniqueRAWLLTData ()const
 

Static Public Member Functions

static constexprLLT scalar (unsigned SizeInBits)
 Get a low-level scalar or aggregate "bag of bits".
 
static constexprLLT token ()
 Get a low-level token; just a scalar with zero bits (or no size).
 
static constexprLLT pointer (unsignedAddressSpace,unsigned SizeInBits)
 Get a low-level pointer in the given address space.
 
static constexprLLT vector (ElementCount EC,unsigned ScalarSizeInBits)
 Get a low-level vector of some number of elements and element width.
 
static constexprLLT vector (ElementCount EC,LLT ScalarTy)
 Get a low-level vector of some number of elements and element type.
 
static constexprLLT float16 ()
 Get a 16-bit IEEE half value.
 
static constexprLLT float32 ()
 Get a 32-bit IEEE float value.
 
static constexprLLT float64 ()
 Get a 64-bit IEEE double value.
 
static constexprLLT fixed_vector (unsigned NumElements,unsigned ScalarSizeInBits)
 Get a low-level fixed-width vector of some number of elements and element width.
 
static constexprLLT fixed_vector (unsigned NumElements,LLT ScalarTy)
 Get a low-level fixed-width vector of some number of elements and element type.
 
static constexprLLT scalable_vector (unsigned MinNumElements,unsigned ScalarSizeInBits)
 Get a low-level scalable vector of some number of elements and element width.
 
static constexprLLT scalable_vector (unsigned MinNumElements,LLT ScalarTy)
 Get a low-level scalable vector of some number of elements and element type.
 
static constexprLLT scalarOrVector (ElementCount EC,LLT ScalarTy)
 
static constexprLLT scalarOrVector (ElementCount EC,uint64_t ScalarSize)
 

Friends

struct DenseMapInfo< LLT >
 
class GISelInstProfileBuilder
 

Detailed Description

Definition at line39 of fileLowLevelType.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 line134 of fileLowLevelType.h.

ReferencesisPointer(),isScalar(), andisVector().

◆ LLT()[2/3]

constexpr llvm::LLT::LLT()
inlineexplicitconstexpr

Definition at line140 of fileLowLevelType.h.

◆ LLT()[3/3]

LLT::LLT(MVT VT)
explicit

Definition at line19 of fileLowLevelType.cpp.

Referencesllvm::ElementCount::getFixed(),llvm::MVT::getSizeInBits(),llvm::MVT::getVectorElementCount(),llvm::MVT::getVectorElementType(),llvm::MVT::getVectorMinNumElements(),llvm::MVT::isScalableTargetExtVT(),llvm::MVT::isScalableVector(),llvm::MVT::isValid(), andllvm::MVT::isVector().

Member Function Documentation

◆ changeElementCount()

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

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

Definition at line227 of fileLowLevelType.h.

ReferencesgetScalarType(), andscalarOrVector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),buildCopyFromRegs(),llvm::LegalizeMutations::changeElementCountTo(),llvm::LegalizerHelper::fewerElementsVectorShuffle(),getPow2VectorType(),llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(),llvm::AMDGPULegalizerInfo::legalizeLaneOp(),llvm::LegalizerHelper::lowerEXT(),llvm::LegalizerHelper::lowerTRUNC(),llvm::LegalizerHelper::moreElementsVector(),llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), andwidenToNextPowerOf2().

◆ changeElementSize()

constexprLLT 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 line218 of fileLowLevelType.h.

Referencesassert(),getElementCount(),isPointerOrPointerVector(),isVector(),scalar(), andvector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::CombinerHelper::buildUDivUsingMul(),getMidVTForTruncRightShiftCombine(),llvm::SITargetLowering::getPreferredShiftAmountTy(),llvm::LegalizerHelper::getVectorElementPointer(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::LegalizerHelper::lowerAddSubSatToAddoSubo(),llvm::LegalizerHelper::lowerBitCount(),llvm::LegalizerHelper::lowerEXT(),llvm::LegalizerHelper::lowerFFloor(),llvm::LegalizerHelper::lowerFPTOINT_SAT(),llvm::LegalizerHelper::lowerIntrinsicRound(),llvm::LegalizerHelper::lowerMinMax(),llvm::LegalizerHelper::lowerShlSat(),llvm::LegalizerHelper::lowerSMULH_UMULH(),llvm::LegalizerHelper::lowerThreewayCompare(),llvm::LegalizerHelper::lowerTRUNC(),llvm::CombinerHelper::matchUDivByConst(),llvm::LegalizeMutations::widenScalarOrEltToNextMultipleOf(), andllvm::LegalizeMutations::widenScalarOrEltToNextPow2().

◆ changeElementType()

constexprLLT 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 line211 of fileLowLevelType.h.

ReferencesgetElementCount(),isVector(), andvector().

Referenced byllvm::CombinerHelper::applyUseVectorTruncate(),llvm::LegalizerHelper::bitcastShuffleVector(),buildCopyFromRegs(),llvm::LegalizeMutations::changeElementSizeTo(),llvm::LegalizeMutations::changeElementTo(),isRegisterClassType(),llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(),llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(),llvm::LegalizerHelper::lowerSelect(),llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(),llvm::CombinerHelper::matchUseVectorTruncate(), andllvm::LegalizerHelper::widenScalar().

◆ divide()

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

Return a type that isFactor 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 line234 of fileLowLevelType.h.

Referencesassert(),getElementCount(),getElementType(),getScalarSizeInBits(),isScalar(),isVector(),scalar(), andscalarOrVector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::AMDGPURegisterBankInfo::applyMappingLoad(), andllvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad().

◆ dump()

LLVM_DUMP_METHOD void LLT::dump() const

Definition at line52 of fileLowLevelType.cpp.

Referencesllvm::dbgs(), andprint().

◆ fixed_vector()[1/2]

static constexprLLT 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 line107 of fileLowLevelType.h.

Referencesllvm::ElementCount::getFixed(), andvector.

◆ fixed_vector()[2/2]

static constexprLLT 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 line100 of fileLowLevelType.h.

Referencesllvm::ElementCount::getFixed(), andvector.

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::LegalizeRuleSet::alignNumElementsTo(),llvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(),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::AMDGPURegisterBankInfo::handleD16VData(),llvm::AMDGPULegalizerInfo::handleD16VData(),llvm::AMDGPUCallLowering::handleImplicitCallArguments(),isExtractHiElt(),llvm::AMDGPULegalizerInfo::legalizeAtomicCmpXChg(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::AMDGPULegalizerInfo::legalizeBuildVector(),llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(),llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(),llvm::AArch64LegalizerInfo::legalizeIntrinsic(),LLTToBId(),LLTToId(),llvm::LegalizerHelper::lowerBitcast(),makeDstOps(),llvm::MipsLegalizerInfo::MipsLegalizerInfo(),moreElementsToNextExistingRegClass(),llvm::LegalizeMutations::moreElementsToNextPow2(),llvm::LegalizerHelper::moreElementsVector(),moreEltsToNext32Bit(),multiplyElements(),oneMoreElement(),packImage16bitOpsToDwords(),llvm::PPCLegalizerInfo::PPCLegalizerInfo(),llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(),widen96To128(),llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize(), andllvm::X86LegalizerInfo::X86LegalizerInfo().

◆ float16()

static constexprLLT llvm::LLT::float16()
inlinestaticconstexpr

Get a 16-bit IEEE half value.

TODO: Add IEEE semantics to type - This currently returns a simplescalar(16).

Definition at line84 of fileLowLevelType.h.

Referencesscalar().

Referenced byllvm::AMDGPULegalizerInfo::legalizeFMad(),llvm::AMDGPULegalizerInfo::legalizeFPow(), andllvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp().

◆ float32()

static constexprLLT llvm::LLT::float32()
inlinestaticconstexpr

Get a 32-bit IEEE float value.

Definition at line89 of fileLowLevelType.h.

Referencesscalar().

Referenced byllvm::AMDGPULegalizerInfo::legalizeFMad(),llvm::AMDGPULegalizerInfo::legalizeFPow(), andllvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp().

◆ float64()

static constexprLLT llvm::LLT::float64()
inlinestaticconstexpr

Get a 64-bit IEEE double value.

Definition at line94 of fileLowLevelType.h.

Referencesscalar().

Referenced byllvm::AMDGPULegalizerInfo::legalizeFFloor(), andllvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp().

◆ getAddressSpace()

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

Definition at line270 of fileLowLevelType.h.

Referencesassert(), andisPointerOrPointerVector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::CSEMIRBuilder::buildInstr(),llvm::LegalizerHelper::coerceToScalar(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::createMemLibcall(),llvm::GIMatchTableExecutor::executeMatchTable(),getElementType(),llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(),llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(),llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(),llvm::LegalizerHelper::getVectorElementPointer(),llvm::CallLowering::handleAssignments(),hasBufferRsrcWorkaround(),llvm::LegalityPredicates::isPointer(),llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(),llvm::AMDGPULegalizerInfo::legalizeGlobalValue(),llvm::AMDGPULegalizerInfo::legalizeLoad(),llvm::LegalizerHelper::lowerExtractInsertVectorElt(),llvm::LegalizerHelper::lowerInsert(),llvm::CombinerHelper::matchPtrAddImmedChain(),llvm::CombinerHelper::matchPtrAddZero(),print(),propagateSPIRVType(), andvector().

◆ getElementCount()

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

Definition at line183 of fileLowLevelType.h.

Referencesassert(),llvm::ElementCount::get(), andisScalable().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::CombinerHelper::applySDivByPow2(),llvm::LegalizerHelper::bitcastExtractSubvector(),llvm::LegalizerHelper::bitcastInsertSubvector(),llvm::LegalizerHelper::bitcastShuffleVector(),buildCopyFromRegs(),buildCopyToRegs(),llvm::MachineIRBuilder::buildInstr(),canCreateUndefOrPoison(),llvm::LegalizeMutations::changeElementCountTo(),changeElementSize(),changeElementType(),divide(),llvm::getApproximateEVTForLLT(),getBufferRsrcRegisterType(),getBufferRsrcScalarType(),llvm::getCoverTy(),getHalfSizedType(),llvm::getLCMType(),getMaskTypeFor(),llvm::getMVTForLLT(),getNumElements(),getSizeInBits(),llvm::CallLowering::ValueHandler::getStackValueStoreType(),llvm::getTypeForLLT(),isFPIntrinsic(),llvm::LegalizerHelper::lowerEXT(),llvm::LegalizerHelper::lowerISFPCLASS(),llvm::LegalizerHelper::lowerTRUNC(),llvm::CombinerHelper::matchUseVectorTruncate(),llvm::LegalizerHelper::moreElementsVector(),multiplyElements(),mutationIsSane(),llvm::LegalizerHelper::narrowScalar(),print(),llvm::MachineIRBuilder::validateSelectOp(),llvm::MachineIRBuilder::validateTruncExt(), andllvm::LegalizerHelper::widenScalar().

◆ getElementType()

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

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

Definition at line277 of fileLowLevelType.h.

Referencesassert(),getAddressSpace(),getScalarSizeInBits(),isVector(),pointer(), andscalar().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::LegalizeRuleSet::alignNumElementsTo(),llvm::LegalizerHelper::bitcastExtractSubvector(),llvm::LegalizerHelper::bitcastExtractVectorElt(),llvm::LegalizerHelper::bitcastInsertSubvector(),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::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::AMDGPULegalizerInfo::fixStoreSourceType(),llvm::getApproximateEVTForLLT(),llvm::getCoverTy(),llvm::getGCDType(),getHalfSizedType(),llvm::getLCMType(),getLMUL1Ty(),llvm::getMVTForLLT(),getNarrowTypeBreakDown(),getReadAnyLaneSplitTy(),getScalarType(),llvm::LegalizerHelper::getVectorElementPointer(),getVectorSHLImm(),llvm::AMDGPURegisterBankInfo::handleD16VData(),llvm::AMDGPULegalizerInfo::handleD16VData(),hasBufferRsrcWorkaround(),llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(),isFPIntrinsic(),isRegisterType(),isRegisterVectorType(),isSmallOddVector(),llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(),llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(),llvm::AMDGPULegalizerInfo::legalizeLaneOp(),llvm::LegalizerHelper::lowerBitcast(),llvm::LegalizerHelper::lowerExtract(),llvm::LegalizerHelper::lowerExtractInsertVectorElt(),llvm::LegalizerHelper::lowerInsert(),llvm::LegalizerHelper::lowerLoad(),llvm::LegalizerHelper::lowerStore(),llvm::LegalizerHelper::lowerVECTOR_COMPRESS(),makeDstOps(),llvm::CombinerHelper::matchBuildVectorIdentityFold(),llvm::CombinerHelper::matchCastOfBuildVector(),llvm::CombinerHelper::matchCombineExtractedVectorLoad(),llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(),moreElementsToNextExistingRegClass(),llvm::LegalizeMutations::moreElementsToNextPow2(),llvm::LegalizerHelper::moreElementsVector(),moreEltsToNext32Bit(),multiplyElements(),oneMoreElement(),print(),llvm::LegalizerHelper::scalarizeVectorBooleanStore(),shouldBitcastLoadStoreType(),splitUnequalType(),widen96To128(), andllvm::LegalizerHelper::widenScalar().

◆ getNumElements()

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

Returns the number of elements in a vectorLLT.

Must only be called on vector types.

Definition at line159 of fileLowLevelType.h.

ReferencesgetElementCount(),llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(),isScalable(), andllvm::reportInvalidSizeRequest().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::LegalizeRuleSet::alignNumElementsTo(),llvm::AMDGPURegisterBankInfo::applyMappingImpl(),llvm::CombinerHelper::applyShuffleToExtract(),llvm::CombinerHelper::applyUseVectorTruncate(),llvm::LegalizerHelper::bitcastExtractVectorElt(),llvm::LegalizerHelper::bitcastInsertVectorElt(),buildCopyFromRegs(),buildCopyToRegs(),llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(),llvm::MachineIRBuilder::buildPadVectorWithUndefElements(),llvm::MachineIRBuilder::buildShuffleSplat(),llvm::LegalizeRuleSet::clampMaxNumElements(),llvm::LegalizeRuleSet::clampMinNumElements(),llvm::LegalizeRuleSet::clampNumElements(),clampVectorIndex(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::GISelKnownBits::computeNumSignBits(),llvm::LegalizerHelper::equalizeVectorShuffleLengths(),llvm::extractParts(),llvm::extractVectorParts(),llvm::LegalizerHelper::fewerElementsVector(),llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(),llvm::LegalizerHelper::fewerElementsVectorMerge(),llvm::LegalizerHelper::fewerElementsVectorMultiEltType(),llvm::LegalizerHelper::fewerElementsVectorPhi(),llvm::LegalizerHelper::fewerElementsVectorReductions(),llvm::LegalizerHelper::fewerElementsVectorSeqReductions(),llvm::LegalizerHelper::fewerElementsVectorShuffle(),fewerEltsToSize64Vector(),llvm::AMDGPULegalizerInfo::fixStoreSourceType(),llvm::GISelKnownBits::getKnownBits(),getPow2VectorType(),llvm::AMDGPURegisterBankInfo::handleD16VData(),llvm::AMDGPULegalizerInfo::handleD16VData(),hasSameNumEltsOnAllVectorOperands(),isRegisterVectorType(),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::lowerTRUNC(),llvm::LegalizerHelper::lowerVECTOR_COMPRESS(),llvm::CombinerHelper::matchCombineConcatVectors(),llvm::CombinerHelper::matchCombineInsertVecElts(),llvm::CombinerHelper::matchCombineShuffleConcat(),llvm::CombinerHelper::matchCombineShuffleVector(),llvm::CombinerHelper::matchExtractAllEltsFromBuildVector(),llvm::CombinerHelper::matchExtractVecEltBuildVec(),llvm::CombinerHelper::matchExtractVectorElement(),llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(),llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(),llvm::CombinerHelper::matchInsertVectorElementOOB(),llvm::CombinerHelper::matchShuffleDisjointMask(),llvm::CombinerHelper::matchShuffleUndefRHS(),llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(),llvm::CombinerHelper::matchUseVectorTruncate(),moreElementsToNextExistingRegClass(),llvm::LegalizeMutations::moreElementsToNextPow2(),llvm::LegalizerHelper::moreElementsVector(),llvm::LegalizerHelper::moreElementsVectorShuffle(),numElementsNotEven(),llvm::LegalityPredicates::numElementsNotPow2(),oneMoreElement(),llvm::RegBankSelect::repairReg(),llvm::LegalizerHelper::scalarizeVectorBooleanStore(),llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(),widenToNextPowerOf2(), andllvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

◆ getScalarSizeInBits()

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

Definition at line264 of fileLowLevelType.h.

ReferencesisPointerOrPointerVector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::CombinerHelper::applyAshShlToSextInreg(),llvm::CombinerHelper::applyCombineMulToShl(),llvm::CombinerHelper::applyFunnelShiftConstantModulo(),llvm::CombinerHelper::applyRotateOutOfRange(),llvm::CombinerHelper::applySDivByPow2(),llvm::CombinerHelper::applyShiftImmedChain(),llvm::CombinerHelper::applyUMulHToLShr(),llvm::LegalizerHelper::bitcastShuffleVector(),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::ConstantFoldCastOp(),llvm::ConstantFoldExtOp(),llvm::SITargetLowering::denormalsEnabledForType(),divide(),llvm::GIMatchTableExecutor::executeMatchTable(),llvm::extractParts(),llvm::LegalizerHelper::fewerElementsBitcast(),llvm::getCoverTy(),getElementType(),getHalfSizedType(),getMemsetValue(),getMidVTForTruncRightShiftCombine(),getNarrowTypeBreakDown(),llvm::SITargetLowering::getPreferredShiftAmountTy(),getSizeInBits(),llvm::CallLowering::ValueHandler::getStackValueStoreType(),llvm::getTypeForLLT(),llvm::CallLowering::handleAssignments(),llvm::SITargetLowering::isFMADLegal(),llvm::TargetLoweringBase::isFMADLegal(),llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(),llvm::SITargetLowering::isFPExtFoldable(),llvm::isKnownToBeAPowerOfTwo(),isRegisterClassType(),llvm::AArch64LegalizerInfo::legalizeIntrinsic(),loadStoreBitcastWorkaround(),llvm::LegalizerHelper::lower(),llvm::LegalizerHelper::lowerAbsToAddXor(),llvm::LegalizerHelper::lowerAddSubSatToAddoSubo(),llvm::LegalizerHelper::lowerAddSubSatToMinMax(),llvm::LegalizerHelper::lowerBitreverse(),llvm::LegalizerHelper::lowerBswap(),llvm::LegalizerHelper::lowerEXT(),llvm::LegalizerHelper::lowerFAbs(),llvm::LegalizerHelper::lowerFPTOSI(),llvm::LegalizerHelper::lowerFunnelShiftAsShifts(),llvm::LegalizerHelper::lowerFunnelShiftWithInverse(),llvm::LegalizerHelper::lowerISFPCLASS(),llvm::LegalizerHelper::lowerShlSat(),llvm::LegalizerHelper::lowerSMULH_UMULH(),llvm::LegalizerHelper::lowerTRUNC(),llvm::CombinerHelper::matchCastOfInteger(),llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(),llvm::CombinerHelper::matchCombineShlOfExtend(),llvm::CombinerHelper::matchCombineTruncOfShift(),llvm::CombinerHelper::matchCombineZextTrunc(),llvm::CombinerHelper::matchNotCmp(),llvm::CombinerHelper::matchOrShiftToFunnelShift(),llvm::CombinerHelper::matchRedundantSExtInReg(),llvm::CombinerHelper::matchRotateOutOfRange(),llvm::CombinerHelper::matchSextOfTrunc(),llvm::CombinerHelper::matchShiftImmedChain(),llvm::CombinerHelper::matchShiftOfShiftedLogic(),llvm::CombinerHelper::matchShiftsTooBig(),llvm::CombinerHelper::matchTruncateOfExt(),llvm::CombinerHelper::matchZextOfTrunc(),llvm::LegalizeRuleSet::maxScalarOrElt(),llvm::LegalizeRuleSet::minScalarOrElt(),llvm::LegalizeRuleSet::minScalarOrEltIf(),mutationIsSane(),llvm::LegalizerHelper::narrowScalar(),llvm::LegalizerHelper::narrowScalarFLDEXP(),llvm::LegalizerHelper::narrowScalarFPTOI(),llvm::LegalizerHelper::narrowScalarShift(),print(),llvm::RegBankSelect::repairReg(),llvm::LegalityPredicates::scalarOrEltNarrowerThan(),llvm::LegalityPredicates::scalarOrEltSizeNotPow2(),llvm::LegalityPredicates::scalarOrEltWiderThan(),shiftAmountKnownInRange(),llvm::GISelKnownBits::signBitIsZero(),llvm::LegalizationArtifactCombiner::tryCombineSExt(),llvm::LegalizationArtifactCombiner::tryCombineZExt(),llvm::LegalizerHelper::widenScalar(),widenScalarLLTNextPow2(),llvm::LegalizeMutations::widenScalarOrEltToNextMultipleOf(), andllvm::LegalizeMutations::widenScalarOrEltToNextPow2().

◆ getScalarType()

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

Definition at line205 of fileLowLevelType.h.

ReferencesgetElementType(), andisVector().

Referenced byllvm::CombinerHelper::applyCombineInsertVecElts(),llvm::CombinerHelper::applyUseVectorTruncate(),llvm::LegalizerHelper::bitcastShuffleVector(),llvm::MachineIRBuilder::buildConstant(),buildCopyFromRegs(),llvm::MachineIRBuilder::buildFConstant(),llvm::CSEMIRBuilder::buildInstr(),llvm::CombinerHelper::buildSDivUsingMul(),llvm::CombinerHelper::buildUDivUsingMul(),changeElementCount(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::LegalizerHelper::fewerElementsVectorMerge(),llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(),llvm::getGCDType(),getMemsetValue(),isCopyCompatibleType(),isWideVec16(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::AMDGPULegalizerInfo::legalizeBufferStore(),llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(),llvm::LegalizerHelper::lowerFPTOINT_SAT(),llvm::LegalizerHelper::lowerFPTOSI(),llvm::LegalizerHelper::lowerFPTRUNC(),llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(),llvm::LegalizerHelper::lowerISFPCLASS(),llvm::LegalizerHelper::lowerShuffleVector(),llvm::CombinerHelper::matchCastOfBuildVector(),llvm::CombinerHelper::matchCombineConcatVectors(),llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(),llvm::CombinerHelper::matchPtrAddZero(),llvm::CombinerHelper::matchUseVectorTruncate(),llvm::LegalizerHelper::moreElementsVector(),mutationIsSane(),llvm::LegalizerHelper::narrowScalarFPTOI(), andllvm::LegalizationArtifactCombiner::tryFoldUnmergeCast().

◆ getSizeInBits()

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

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

Definition at line190 of fileLowLevelType.h.

ReferencesgetElementCount(),llvm::TypeSize::getFixed(),getScalarSizeInBits(),isPointer(), andisScalar().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::SITargetLowering::allowsMisalignedMemoryAccesses(),llvm::CombinerHelper::applyCombineExtendingLoads(),llvm::CombinerHelper::applyCombineShiftToUnmerge(),llvm::CombinerHelper::applyCombineUnmergeZExtToZExt(),llvm::RegisterBankInfo::applyDefaultMapping(),llvm::CombinerHelper::applyExtractVecEltBuildVec(),llvm::CombinerHelper::applyFunnelShiftConstantModulo(),llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(),llvm::AMDGPURegisterBankInfo::applyMappingImpl(),llvm::AMDGPURegisterBankInfo::applyMappingLoad(),llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(),llvm::LegalizerHelper::bitcast(),llvm::LegalizerHelper::bitcastConcatVector(),llvm::LegalizerHelper::bitcastExtractSubvector(),llvm::LegalizerHelper::bitcastExtractVectorElt(),llvm::LegalizerHelper::bitcastInsertSubvector(),llvm::LegalizerHelper::bitcastInsertVectorElt(),bitcastToVectorElement32(),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::AMDGPU::buildReadAnyLane(),buildReadAnyLane(),llvm::AMDGPURegisterBankInfo::buildReadFirstLane(),llvm::MachineIRBuilder::buildStepVector(),llvm::MachineIRBuilder::buildUnmerge(),llvm::AMDGPURegisterBankInfo::buildVCopy(),llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(),clampVectorIndex(),llvm::LegalizerHelper::coerceToScalar(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::CallLowering::ValueHandler::copyArgumentMemory(),createAtomicLibcall(),llvm::createMemLibcall(),elementTypeIsLegal(),llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(),llvm::GIMatchTableExecutor::executeMatchTable(),llvm::CallLowering::ValueHandler::extendRegister(),llvm::extractParts(),llvm::LegalizerHelper::fewerElementsBitcast(),llvm::LegalizerHelper::fewerElementsVectorMerge(),llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(),fewerEltsToSize64Vector(),findGISelOptimalMemOpLowering(),llvm::getApproximateEVTForLLT(),getBitcastRegisterType(),getBitcastWiderVectorElementOffset(),llvm::LegalizerHelper::getDynStackAllocTargetPtr(),getFloatTypeForLLT(),llvm::getFltSemanticForLLT(),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(),llvm::getMVTForLLT(),getNarrowTypeBreakDown(),llvm::X86GenRegisterBankInfo::getPartialMappingIdx(),getPow2ScalarType(),getReadAnyLaneSplitTy(),llvm::SIRegisterInfo::getRegClassForTypeOnBank(),llvm::SITargetLowering::getRegisterByName(),llvm::TargetRegisterInfo::getRegSizeInBits(),getSizeInBytes(),llvm::getTypeForLLT(),llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(),llvm::LegalizerHelper::getVectorElementPointer(),getVectorSHLImm(),isByteSized(),llvm::LegalityPredicates::TypePairAndMemDesc::isCompatible(),isCopyCompatibleType(),isFPIntrinsic(),isIllegalRegisterType(),isLoadStoreSizeLegal(),isRegisterType(),isRegisterVectorElementType(),isRegisterVectorType(),isSmallOddVector(),isWideScalarExtLoadTruncStore(),isWideVec16(),llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::AMDGPULegalizerInfo::legalizeBufferStore(),llvm::AMDGPULegalizerInfo::legalizeCTLZ_CTTZ(),llvm::AMDGPULegalizerInfo::legalizeCTLZ_ZERO_UNDEF(),llvm::RISCVLegalizerInfo::legalizeCustom(),llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(),llvm::AMDGPULegalizerInfo::legalizeFroundeven(),llvm::AMDGPULegalizerInfo::legalizeGlobalValue(),llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(),llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(),llvm::AMDGPULegalizerInfo::legalizeLaneOp(),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::lowerEXT(),llvm::LegalizerHelper::lowerExtract(),llvm::LegalizerHelper::lowerFPTOUI(),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::matchCombineShiftToUnmerge(),llvm::CombinerHelper::matchCombineUnmergeConstant(),llvm::CombinerHelper::matchCombineUnmergeMergeToPlainValues(),llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(),llvm::CombinerHelper::matchConstantLargerBitWidth(),llvm::CombinerHelper::matchICmpToLHSKnownBits(),llvm::CombinerHelper::matchLoadOrCombine(),llvm::CombinerHelper::matchNarrowBinopFeedingAnd(),llvm::CombinerHelper::matchNotCmp(),llvm::CombinerHelper::matchSextInRegOfLoad(),llvm::CombinerHelper::matchSextTruncSextLoad(),llvm::CombinerHelper::matchTruncLshrBuildVectorFold(),llvm::LegalizeRuleSet::maxScalar(),llvm::LegalizeRuleSet::maxScalarIf(),mergeVectorRegsToResultRegs(),llvm::LegalizeRuleSet::minScalar(),llvm::LegalizeRuleSet::minScalarIf(),moreElementsToNextExistingRegClass(),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::LegalizerHelper::scalarizeVectorBooleanStore(),llvm::LegalityPredicates::scalarNarrowerThan(),llvm::LegalityPredicates::scalarWiderThan(),selectFPConvOpc(),llvm::InstructionSelect::selectMachineFunction(),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(),widenToNextPowerOf2(), andllvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

◆ getSizeInBytes()

constexprTypeSize 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 line200 of fileLowLevelType.h.

Referencesllvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(),getSizeInBits(), andllvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable().

Referenced byllvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(),llvm::LegalizerHelper::createStackStoreLoad(),findGISelOptimalMemOpLowering(),getOutlineAtomicLibcall(),llvm::LegalizerHelper::getStackTemporaryAlignment(),llvm::CallLowering::handleAssignments(),llvm::LegalizerHelper::lowerExtractInsertVectorElt(),llvm::LegalizerHelper::lowerLoad(),llvm::LegalizerHelper::lowerStore(), andllvm::LegalityPredicates::memSizeNotByteSizePow2().

◆ getUniqueRAWLLTData()

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

Definition at line404 of fileLowLevelType.h.

Referenced byllvm::GISelInstProfileBuilder::addNodeIDRegType(), andllvm::DenseMapInfo< LLT >::getHashValue().

◆ isByteSized()

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

Definition at line260 of fileLowLevelType.h.

ReferencesgetSizeInBits(), andllvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isKnownMultipleOf().

Referenced byllvm::LegalizerInfo::getExtOpcodeForWideningConstant(),llvm::LegalizerHelper::lowerExtractInsertVectorElt(),llvm::CombinerHelper::matchCombineExtractedVectorLoad(),llvm::LegalityPredicates::memSizeNotByteSizePow2(), andllvm::LegalizerHelper::scalarizeVectorBooleanStore().

◆ isFixedVector()

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

Returns true if theLLT is a fixed vector.

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

Definition at line177 of fileLowLevelType.h.

ReferencesisScalable(), andisVector().

Referenced byllvm::LegalizeRuleSet::alignNumElementsTo(),llvm::MachineIRBuilder::buildConstant(),llvm::MachineIRBuilder::buildFConstant(),llvm::LegalizeRuleSet::clampMaxNumElements(),llvm::LegalizeRuleSet::clampMinNumElements(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::getCoverTy(),llvm::getGCDType(),llvm::GISelKnownBits::getKnownBits(),llvm::getLCMType(),llvm::CombinerHelper::matchExtractVectorElement(),llvm::CombinerHelper::matchInsertVectorElementOOB(),llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(),llvm::LegalityPredicates::numElementsNotPow2(), andllvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

◆ isPointer()

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

Definition at line149 of fileLowLevelType.h.

ReferencesisValid().

Referenced byllvm::MachineIRBuilder::buildAtomicCmpXchg(),llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(),llvm::MachineIRBuilder::buildAtomicRMW(),buildCopyFromRegs(),llvm::MachineIRBuilder::buildFConstant(),llvm::MachineIRBuilder::buildInstr(),llvm::LegalizerHelper::coerceToScalar(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::createMemLibcall(),llvm::GIMatchTableExecutor::executeMatchTable(),llvm::CallLowering::ValueHandler::extendRegister(),llvm::MipsRegisterBankInfo::getInstrMapping(),llvm::X86GenRegisterBankInfo::getPartialMappingIdx(),getSizeInBits(),hasBufferRsrcWorkaround(),isCopyCompatibleType(),llvm::LegalityPredicates::isPointer(),llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(),llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(),LLT(),llvm::LegalizerHelper::lowerInsert(),llvm::LegalizerHelper::lowerLoad(),llvm::LegalizerHelper::lowerStore(),llvm::LegalizerHelper::lowerUnmergeValues(),llvm::CombinerHelper::matchPtrAddZero(),llvm::CombinerHelper::matchSelectIMinMax(),print(),propagateSPIRVType(),llvm::MachineIRBuilder::validateSelectOp(), andvector().

◆ isPointerOrPointerVector()

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

Definition at line153 of fileLowLevelType.h.

ReferencesisValid().

Referenced byllvm::MachineIRBuilder::buildCast(),changeElementSize(),getAddressSpace(),getScalarSizeInBits(),isRegisterClassType(),llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), andllvm::LegalizerHelper::widenScalar().

◆ isPointerVector()

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

Definition at line152 of fileLowLevelType.h.

ReferencesisVector().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::LegalizerHelper::coerceToScalar(), andloadStoreBitcastWorkaround().

◆ isScalable()

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

Returns true if theLLT is a scalable vector.

Must only be called on vector types.

Definition at line170 of fileLowLevelType.h.

Referencesassert(), andisVector().

Referenced bygetElementCount(),llvm::getGCDType(),llvm::getLCMType(),getNumElements(),isFixedVector(),isScalableVector(), andllvm::LegalizerHelper::moreElementsVector().

◆ isScalableVector()

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

Returns true if theLLT is a scalable vector.

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

Definition at line181 of fileLowLevelType.h.

ReferencesisScalable(), andisVector().

Referenced byllvm::MachineIRBuilder::buildConstant(),buildDefaultVLOps(),llvm::MachineIRBuilder::buildFConstant(),llvm::LegalizeRuleSet::clampNumElements(),llvm::getCoverTy(),llvm::getGCDType(),llvm::getLCMType(),llvm::CombinerHelper::matchCombineInsertVecElts(),llvm::CombinerHelper::matchExtractVecEltBuildVec(),llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(), andshiftAmountKnownInRange().

◆ isScalar()

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

Definition at line146 of fileLowLevelType.h.

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::AMDGPURegisterBankInfo::applyMappingImpl(),llvm::AMDGPURegisterBankInfo::applyMappingLoad(),llvm::MachineIRBuilder::buildAtomicCmpXchg(),llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(),buildCopyToRegs(),llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(),llvm::MachineIRBuilder::buildInstr(),llvm::CombinerHelper::buildUDivUsingMul(),llvm::LegalizeRuleSet::clampScalar(),llvm::LegalizerHelper::coerceToScalar(),divide(),llvm::LegalizerHelper::fewerElementsVectorReductions(),llvm::LegalizerHelper::fewerElementsVectorSeqReductions(),getFloatTypeForLLT(),llvm::getFltSemanticForLLT(),llvm::AMDGPURegisterBankInfo::getInstrMapping(),llvm::MipsRegisterBankInfo::getInstrMapping(),llvm::X86GenRegisterBankInfo::getPartialMappingIdx(),getSizeInBits(),isCopyCompatibleType(),llvm::SITargetLowering::isFMADLegal(),llvm::AMDGPULegalizerInfo::legalizeFMad(),llvm::AMDGPULegalizerInfo::legalizeFroundeven(),llvm::AArch64LegalizerInfo::legalizeIntrinsic(),llvm::AMDGPULegalizerInfo::legalizeMul(),LLT(),llvm::LegalizerHelper::lowerExtract(),llvm::InlineAsmLowering::lowerInlineAsm(),llvm::LegalizerHelper::lowerInsert(),llvm::LegalizerHelper::lowerVectorReduction(),llvm::CombinerHelper::matchCombineExtendingLoads(),llvm::CombinerHelper::matchNarrowBinopFeedingAnd(),llvm::MachineIRBuilder::materializePtrAdd(),llvm::LegalizeRuleSet::maxScalarIf(),llvm::LegalizeRuleSet::minScalarIf(),llvm::LegalizerHelper::narrowScalarCTLZ(),llvm::LegalizerHelper::narrowScalarCTPOP(),llvm::LegalizerHelper::narrowScalarCTTZ(),print(),llvm::LegalityPredicates::scalarNarrowerThan(),llvm::LegalityPredicates::scalarWiderThan(),selectFPConvOpc(),shiftAmountKnownInRange(),llvm::LegalityPredicates::sizeNotMultipleOf(),llvm::LegalityPredicates::sizeNotPow2(),llvm::LegalizationArtifactCombiner::tryCombineTrunc(),llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(),typeOfExtendedScalars(),llvm::MachineIRBuilder::validateBinaryOp(),llvm::MachineIRBuilder::validateSelectOp(),llvm::MachineIRBuilder::validateShiftOp(),llvm::MachineIRBuilder::validateTruncExt(),llvm::MachineIRBuilder::validateUnaryOp(),llvm::LegalizerHelper::widenScalar(), andwidenScalarLLTNextPow2().

◆ isToken()

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

Definition at line147 of fileLowLevelType.h.

◆ isValid()

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

Definition at line145 of fileLowLevelType.h.

Referenced byllvm::CombinerHelper::applyCombineShuffleConcat(),llvm::RegisterBankInfo::applyDefaultMapping(),llvm::MIPatternMatch::bind_helper< LLT >::bind(),llvm::MachineIRBuilder::buildAtomicCmpXchg(),llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(),llvm::MachineIRBuilder::buildAtomicRMW(),llvm::MachineIRBuilder::buildExtract(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::RegBankSelect::computeMapping(),llvm::GISelKnownBits::computeNumSignBits(),llvm::MachineRegisterInfo::constrainRegAttrs(),llvm::extractParts(),llvm::getFunctionLiveInPhysReg(),llvm::AArch64RegisterBankInfo::getInstrMapping(),llvm::RISCVRegisterBankInfo::getInstrMapping(),getNarrowTypeBreakDown(),llvm::AMDGPURegisterBankInfo::getRegBankFromRegClass(),llvm::TargetRegisterInfo::getRegSizeInBits(),llvm::MachineInstr::getTypeToPrint(),isPointer(),isPointerOrPointerVector(),isVector(),makeDstOps(),llvm::CombinerHelper::matchHoistLogicOpWithSameOpcodeHands(),llvm::MemSDNode::MemSDNode(),print(),llvm::MachineOperand::print(),llvm::LegalizerHelper::reduceLoadStoreWidth(),llvm::InstructionSelect::selectMachineFunction(),llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(),typeOfExtendedScalars(),unsupportedBinOp(), andllvm::RegisterBankInfo::InstructionMapping::verify().

◆ isVector()

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

Definition at line148 of fileLowLevelType.h.

ReferencesisValid().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::AMDGPURegisterBankInfo::applyMappingImpl(),llvm::AMDGPURegisterBankInfo::applyMappingLoad(),llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(),llvm::CombinerHelper::applySDivByPow2(),llvm::CombinerHelper::applyShuffleToExtract(),llvm::LegalizerHelper::bitcast(),llvm::LegalizerHelper::bitcastExtractSubvector(),llvm::LegalizerHelper::bitcastExtractVectorElt(),llvm::LegalizerHelper::bitcastInsertSubvector(),llvm::LegalizerHelper::bitcastInsertVectorElt(),llvm::CSEMIRBuilder::buildConstant(),buildCopyFromRegs(),buildCopyToRegs(),llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(),llvm::CSEMIRBuilder::buildFConstant(),llvm::CSEMIRBuilder::buildInstr(),llvm::MachineIRBuilder::buildInstr(),llvm::MachineIRBuilder::buildPadVectorWithUndefElements(),llvm::CombinerHelper::buildSDivUsingMul(),llvm::MachineIRBuilder::buildShuffleVector(),llvm::CombinerHelper::buildUDivUsingMul(),llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(),llvm::LegalizeMutations::changeElementCountTo(),changeElementSize(),changeElementType(),llvm::LegalizerHelper::coerceToScalar(),llvm::GISelKnownBits::computeKnownBitsImpl(),llvm::GISelKnownBits::computeNumSignBits(),llvm::ConstantFoldCountZeros(),llvm::ConstantFoldICmp(),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::AMDGPULegalizerInfo::fixStoreSourceType(),llvm::getApproximateEVTForLLT(),getBufferRsrcRegisterType(),getBufferRsrcScalarType(),llvm::getCoverTy(),getElementType(),llvm::getGCDType(),getHalfSizedType(),llvm::AArch64RegisterBankInfo::getInstrMapping(),llvm::MipsRegisterBankInfo::getInstrMapping(),llvm::PPCRegisterBankInfo::getInstrMapping(),llvm::RISCVRegisterBankInfo::getInstrMapping(),llvm::getLCMType(),getMaskTypeFor(),getMemsetValue(),llvm::getMVTForLLT(),getNarrowTypeBreakDown(),getOutlineAtomicLibcall(),getReadAnyLaneSplitTy(),getScalarType(),llvm::getTypeForLLT(),llvm::AMDGPURegisterBankInfo::handleD16VData(),llvm::AMDGPULegalizerInfo::handleD16VData(),hasBufferRsrcWorkaround(),hasSameNumEltsOnAllVectorOperands(),llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(),isFixedVector(),isLoadStoreSizeLegal(),isPointerVector(),isRegisterType(),isScalable(),isScalableVector(),isSmallOddVector(),isWideScalarExtLoadTruncStore(),llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(),llvm::AMDGPULegalizerInfo::legalizeLaneOp(),llvm::AMDGPULegalizerInfo::legalizeLoad(),llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(),LLT(),loadStoreBitcastWorkaround(),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::lowerStore(),llvm::LegalizerHelper::lowerThreewayCompare(),llvm::LegalizerHelper::lowerTRUNC(),makeDstOps(),llvm::CombinerHelper::matchAndOrDisjointMask(),llvm::CombinerHelper::matchCombineInsertVecElts(),llvm::CombinerHelper::matchCombineLoadWithAndMask(),llvm::CombinerHelper::matchCombineShiftToUnmerge(),llvm::CombinerHelper::matchCombineShuffleVector(),llvm::CombinerHelper::matchCombineUnmergeWithDeadLanesToTrunc(),llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(),llvm::CombinerHelper::matchExtendThroughPhis(),llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(),llvm::CombinerHelper::matchFsubToFneg(),llvm::CombinerHelper::matchICmpToLHSKnownBits(),llvm::CombinerHelper::matchICmpToTrueFalseKnownBits(),llvm::CombinerHelper::matchLoadOrCombine(),llvm::CombinerHelper::matchNotCmp(),llvm::CombinerHelper::matchPtrAddZero(),llvm::CombinerHelper::matchSextInRegOfLoad(),llvm::CombinerHelper::matchSextTruncSextLoad(),llvm::CombinerHelper::matchShuffleDisjointMask(),llvm::CombinerHelper::matchShuffleUndefRHS(),llvm::CombinerHelper::matchSuboCarryOut(),llvm::CombinerHelper::matchUDivByConst(),multiplyElements(),mutationIsSane(),llvm::LegalizerHelper::narrowScalar(),llvm::LegalizerHelper::narrowScalarAddSub(),llvm::LegalizerHelper::narrowScalarExt(),llvm::LegalizerHelper::narrowScalarExtract(),llvm::LegalizerHelper::narrowScalarMul(),llvm::LegalizerHelper::narrowScalarSelect(),llvm::LegalizerHelper::narrowScalarShift(),numElementsNotEven(),print(),llvm::RegBankSelect::repairReg(),llvm::LegalizerHelper::scalarizeVectorBooleanStore(),shouldBitcastLoadStoreType(),splitUnequalType(),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(),widen96To128(),llvm::LegalizerHelper::widenScalar(), andwidenToNextPowerOf2().

◆ multiplyElements()

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

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

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

Definition at line251 of fileLowLevelType.h.

Referencesfixed_vector(),getElementCount(),getElementType(),isVector(), andscalarOrVector().

◆ operator!=()

constexprbool llvm::LLT::operator!=(constLLTRHS) const
inlineconstexpr

Definition at line296 of fileLowLevelType.h.

◆ operator==()

constexprbool llvm::LLT::operator==(constLLTRHS) const
inlineconstexpr

Definition at line291 of fileLowLevelType.h.

ReferencesRHS.

◆ pointer()

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

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

Definition at line57 of fileLowLevelType.h.

Referencesassert(), andllvm::ElementCount::getFixed().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),addCallTargetOperands(),llvm::SITargetLowering::allocateHSAUserSGPRs(),allocateHSAUserSGPRs(),llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(),llvm::AMDGPU::RegBankLegalizeHelper::applyMappingPHI(),llvm::ARMLegalizerInfo::ARMLegalizerInfo(),llvm::buildBuiltinVariableLoad(),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(),LLTToBId(),llvm::MipsCallLowering::lowerCall(),llvm::SPIRVCallLowering::lowerCall(),llvm::MipsCallLowering::lowerFormalArguments(),llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(),llvm::M68kLegalizerInfo::M68kLegalizerInfo(),matchUniformityAndLLT(),llvm::MipsLegalizerInfo::MipsLegalizerInfo(),llvm::PPCLegalizerInfo::PPCLegalizerInfo(),llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(),llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), andllvm::X86LegalizerInfo::X86LegalizerInfo().

◆ print()

void LLT::print(raw_ostreamOS) const

Definition at line38 of fileLowLevelType.cpp.

Referencesassert(),getAddressSpace(),getElementCount(),getElementType(),getScalarSizeInBits(),isPointer(),isScalar(),isValid(),isVector(), andOS.

Referenced bydump(), andllvm::operator<<().

◆ scalable_vector()[1/2]

static constexprLLT 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 line120 of fileLowLevelType.h.

Referencesllvm::ElementCount::getScalable(), andvector.

◆ scalable_vector()[2/2]

static constexprLLT 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 line113 of fileLowLevelType.h.

Referencesllvm::ElementCount::getScalable(), andvector.

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),getLMUL1Ty(), andllvm::RISCVLegalizerInfo::RISCVLegalizerInfo().

◆ scalar()

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

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

Definition at line42 of fileLowLevelType.h.

Referencesllvm::ElementCount::getFixed().

Referenced byllvm::AArch64LegalizerInfo::AArch64LegalizerInfo(),llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(),allocateVGPR32Input(),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(),llvm::MachineIRBuilder::buildExtractVectorElementConstant(),llvm::MachineIRBuilder::buildLoadFromOffset(),llvm::MachineIRBuilder::buildMaskLowPtrBits(),llvm::AMDGPULegalizerInfo::buildMultiply(),llvm::AMDGPURegisterBankInfo::buildReadFirstLane(),llvm::MachineIRBuilder::buildShuffleSplat(),buildSplatSplitS64WithVL(),llvm::CombinerHelper::buildUDivUsingMul(),castBufferRsrcFromV4I32(),castBufferRsrcToV4I32(),changeElementSize(),llvm::LegalizeMutations::changeElementSizeTo(),llvm::LegalizerHelper::coerceToScalar(),convertImageAddrToPacked(),llvm::CallLowering::ValueHandler::copyArgumentMemory(),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(),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(),llvm::AMDGPULegalizerInfo::getScaledLogInput(),llvm::AMDGPULegalizerInfo::getSegmentAperture(),M68kOutgoingArgHandler::getStackAddress(),llvm::AMDGPURegisterBankInfo::handleD16VData(),llvm::AMDGPULegalizerInfo::handleD16VData(),insertInlineAsmProcess(),isFPExtFromF16OrConst(),AMDGPURegBankLegalizeCombiner::isLaneMask(),isRegisterClassType(),llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(),llvm::AMDGPULegalizerInfo::legalizeBufferAtomic(),llvm::AMDGPULegalizerInfo::legalizeBufferLoad(),llvm::AMDGPULegalizerInfo::legalizeBufferStore(),llvm::AMDGPULegalizerInfo::legalizeBuildVector(),llvm::AMDGPULegalizerInfo::legalizeBVHIntrinsic(),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::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::legalizeWorkitemIDIntrinsic(),LLTToBId(),LLTToId(),llvm::AMDGPULegalizerInfo::loadInputValue(),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::matchUDivByConst(),matchUniformityAndLLT(),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(),llvm::LegalizerHelper::reduceLoadStoreWidth(),reinsertVectorIndexAdd(),llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(),llvm::LegalizerHelper::scalarizeVectorBooleanStore(),scalarOrVector(),llvm::AMDGPUInstructionSelector::select(),llvm::AMDGPURegisterBankInfo::setBufferOffsets(),llvm::MipsRegisterBankInfo::setRegBank(),llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(),llvm::AMDGPURegisterBankInfo::splitBufferOffsets(),llvm::AMDGPULegalizerInfo::splitBufferOffsets(),splitUnequalType(),unpackV2S16ToS32(),valueIsKnownNeverF32Denorm(),widen96To128(),widenScalarLLTNextPow2(),widenToNextPowerOf2(),llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize(), andllvm::X86LegalizerInfo::X86LegalizerInfo().

◆ scalarOrVector()[1/2]

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

Definition at line124 of fileLowLevelType.h.

Referencesvector().

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

◆ scalarOrVector()[2/2]

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

Definition at line128 of fileLowLevelType.h.

Referencesassert(),scalar(), andscalarOrVector().

◆ token()

static constexprLLT llvm::LLT::token()
inlinestaticconstexpr

Get a low-level token; just a scalar with zero bits (or no size).

Definition at line49 of fileLowLevelType.h.

Referencesllvm::ElementCount::getFixed().

Referenced byllvm::getLLTForType().

◆ vector()[1/2]

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

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

Definition at line71 of fileLowLevelType.h.

Referencesassert(),getAddressSpace(),llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(),getSizeInBits(),isPointer(), andisVector().

◆ vector()[2/2]

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

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

Definition at line64 of fileLowLevelType.h.

Referencesassert().

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

Friends And Related Function Documentation

◆ DenseMapInfo< LLT >

friend structDenseMapInfo<LLT >
friend

Definition at line296 of fileLowLevelType.h.

◆ GISelInstProfileBuilder

friend classGISelInstProfileBuilder
friend

Definition at line299 of fileLowLevelType.h.


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

Generated on Sun Jul 20 2025 19:09:34 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp