LLVM 24.0.0git
llvm::LLT Class Reference

#include "llvm/CodeGenTypes/LowLevelType.h"

Public Types

enum class  Kind : uint8_t {
  INVALID , ANY_SCALAR , INTEGER , FLOAT ,
  POINTER , VECTOR_ANY , VECTOR_INTEGER , VECTOR_FLOAT ,
  VECTOR_POINTER
}
using FpSemantics = APFloat::Semantics

Public Member Functions

constexpr LLT (Kind Info, ElementCount EC, uint64_t SizeInBits)
constexpr LLT (Kind Info, ElementCount EC, uint64_t SizeInBits, unsigned AddressSpace)
constexpr LLT (Kind Info, ElementCount EC, uint64_t SizeInBits, FpSemantics Sem)
LLVM_ABI LLT (MVT VT)
constexpr LLT ()
constexpr bool isToken () const
constexpr bool isValid () const
constexpr bool isAnyScalar () const
constexpr bool isInteger () const
constexpr bool isFloat () const
constexpr bool isPointer () const
constexpr bool isAnyVector () const
constexpr bool isIntegerVector () const
constexpr bool isFloatVector () const
constexpr bool isPointerVector () const
constexpr bool isPointerOrPointerVector () const
constexpr bool isFloatOrFloatVector () const
constexpr bool isScalar () const
constexpr bool isScalar (unsigned Size) const
constexpr bool isVector () const
constexpr bool isInteger (unsigned Size) const
constexpr bool isFloat (unsigned Size) const
constexpr bool isFloat (FpSemantics Sem) const
constexpr bool isFloatIEEE () const
bool isFloat16 () const
bool isFloat32 () const
bool isFloat64 () const
bool isFloat128 () const
bool isBFloat16 () const
bool isX86FP80 () const
bool isPPCF128 () const
constexpr uint16_t getNumElements () const
 Returns the number of elements in a vector LLT.
constexpr bool isScalable () const
 Returns true if the LLT is a scalable vector.
constexpr bool isFixedVector () const
 Returns true if the LLT is a fixed vector.
constexpr bool isFixedVector (unsigned NumElements, unsigned ScalarSize) const
constexpr bool isScalableVector () const
 Returns true if the LLT is a scalable vector.
constexpr ElementCount getElementCount () const
constexpr TypeSize getSizeInBits () const
 Returns the total size of the type. Must only be called on sized types.
constexpr TypeSize getSizeInBytes () const
 Returns the total size of the type in bytes, i.e.
LLT getScalarType () const
constexpr FpSemantics getFpSemantics () const
constexpr Kind getKind () const
constexpr LLT changeVectorElementType (LLT NewEltTy) const
 Returns a vector with the same number of elements but the new element type.
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.
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.
LLT changeVectorElementCount (ElementCount EC) const
 Return a vector with the same element type and the new element count.
LLT changeElementCount (ElementCount EC) const
 Return a vector or scalar with the same element type and the new element count.
LLT changeElementCount (unsigned NumElements) const
LLT divide (int Factor) const
 Return a type that is Factor times smaller.
LLT multiplyElements (int Factor) const
 Produce a vector type that is Factor times bigger, preserving the element type.
constexpr bool isByteSized () const
constexpr unsigned getScalarSizeInBits () const
constexpr unsigned getAddressSpace () const
LLT getElementType () const
 Returns the vector's element type. Only valid for vector types.
LLT changeToInteger () const
LLVM_ABI void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const
bool operator== (const LLT &RHS) const
bool operator!= (const LLT &RHS) const
constexpr uint64_t getUniqueRAWLLTData () const

Static Public Member Functions

static constexpr Kind toVector (Kind Ty)
static constexpr Kind toScalar (Kind Ty)
static constexpr LLT scalar (unsigned SizeInBits)
 Get a low-level scalar or aggregate "bag of bits".
static LLT integer (unsigned SizeInBits)
static LLT floatingPoint (const FpSemantics &Sem)
static constexpr LLT token ()
 Get a low-level token; just a scalar with zero bits (or no size).
static constexpr LLT pointer (unsigned AddressSpace, unsigned SizeInBits)
 Get a low-level pointer in the given address space.
static constexpr LLT vector (ElementCount EC, unsigned ScalarSizeInBits)
 Get a low-level vector of some number of elements and element width.
static constexpr LLT vector (ElementCount EC, LLT ScalarTy)
 Get a low-level vector of some number of elements and element type.
static LLT floatIEEE (unsigned SizeInBits)
static constexpr LLT bfloat16 ()
static constexpr LLT float16 ()
 Get a 16-bit IEEE half value.
static constexpr LLT float32 ()
 Get a 32-bit IEEE float value.
static constexpr LLT float64 ()
 Get a 64-bit IEEE double value.
static constexpr LLT x86fp80 ()
 Get a 80-bit X86 floating point value.
static constexpr LLT float128 ()
 Get a 128-bit IEEE quad value.
static constexpr LLT ppcf128 ()
 Get a 128-bit PowerPC double double value.
static constexpr LLT fixed_vector (unsigned NumElements, unsigned ScalarSizeInBits)
 Get a low-level fixed-width vector of some number of elements and element width.
static constexpr LLT fixed_vector (unsigned NumElements, LLT ScalarTy)
 Get a low-level fixed-width vector of some number of elements and element type.
static constexpr LLT scalable_vector (unsigned MinNumElements, unsigned ScalarSizeInBits)
 Get a low-level scalable vector of some number of elements and element width.
static constexpr LLT scalable_vector (unsigned MinNumElements, LLT ScalarTy)
 Get a low-level scalable vector of some number of elements and element type.
static constexpr LLT scalarOrVector (ElementCount EC, LLT ScalarTy)
static constexpr LLT scalarOrVector (ElementCount EC, uint64_t ScalarSize)
static bool getUseExtended ()
static void setUseExtended (bool Enable)

Friends

struct DenseMapInfo< LLT >
class GISelInstProfileBuilder

Detailed Description

Definition at line 46 of file LowLevelType.h.

Member Typedef Documentation

◆ FpSemantics

Definition at line 48 of file LowLevelType.h.

Member Enumeration Documentation

◆ Kind

enum class llvm::LLT::Kind : uint8_t
strong
Enumerator
INVALID 
ANY_SCALAR 
INTEGER 
FLOAT 
POINTER 
VECTOR_ANY 
VECTOR_INTEGER 
VECTOR_FLOAT 
VECTOR_POINTER 

Definition at line 50 of file LowLevelType.h.

Constructor & Destructor Documentation

◆ LLT() [1/5]

◆ LLT() [2/5]

llvm::LLT::LLT ( Kind Info,
ElementCount EC,
uint64_t SizeInBits,
unsigned AddressSpace )
inlineexplicitconstexpr

Definition at line 245 of file LowLevelType.h.

References LLT(), and uint64_t.

◆ LLT() [3/5]

llvm::LLT::LLT ( Kind Info,
ElementCount EC,
uint64_t SizeInBits,
FpSemantics Sem )
inlineexplicitconstexpr

Definition at line 251 of file LowLevelType.h.

References LLT(), and uint64_t.

◆ LLT() [4/5]

◆ LLT() [5/5]

llvm::LLT::LLT ( )
inlineexplicitconstexpr

Definition at line 258 of file LowLevelType.h.

Member Function Documentation

◆ bfloat16()

◆ changeElementCount() [1/2]

◆ changeElementCount() [2/2]

LLT llvm::LLT::changeElementCount ( unsigned NumElements) const
inline

Definition at line 458 of file LowLevelType.h.

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

◆ changeElementSize()

◆ changeElementType()

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

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

Otherwise, return the new element type.

Definition at line 421 of file LowLevelType.h.

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

Referenced by llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastShuffleVector(), llvm::CallLowering::buildCopyFromRegs(), llvm::LegalizeMutations::changeElementTo(), llvm::LegalizeMutations::changeElementTo(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerFAbs(), llvm::LegalizerHelper::lowerFCopySign(), llvm::LegalizerHelper::lowerFFloor(), llvm::LegalizerHelper::lowerFMinimumMaximum(), llvm::LegalizerHelper::lowerFMODF(), llvm::LegalizerHelper::lowerFPEXT_BF16(), llvm::LegalizerHelper::lowerFPTRUNC_F32_TO_BF16(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_BF16(), llvm::LegalizerHelper::lowerIntrinsicRound(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::lowerMinMax(), llvm::LegalizerHelper::lowerRoundInexactToOdd(), llvm::LegalizerHelper::lowerSelect(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchUseVectorTruncate(), mergeVectorRegsToResultRegs(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::narrowScalar(), and llvm::LegalizerHelper::widenScalar().

◆ changeToInteger()

LLT llvm::LLT::changeToInteger ( ) const
inline

◆ changeVectorElementCount()

LLT llvm::LLT::changeVectorElementCount ( ElementCount EC) const
inline

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

Must be called on vector types.

Definition at line 446 of file LowLevelType.h.

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

Referenced by llvm::LegalizerHelper::equalizeVectorShuffleLengths(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::LegalizerHelper::lowerBitcast(), and llvm::LegalizerHelper::lowerLoad().

◆ changeVectorElementType()

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

Returns a vector with the same number of elements but the new element type.

Must only be called on vector types.

Definition at line 415 of file LowLevelType.h.

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

Referenced by changeElementType(), llvm::LegalizerHelper::moreElementsVector(), and llvm::LegalizerHelper::widenScalar().

◆ divide()

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

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 465 of file LowLevelType.h.

References assert(), getElementCount(), getElementType(), getScalarSizeInBits(), integer(), isFloat(), isInteger(), isScalar(), isVector(), LLT(), scalar(), and scalarOrVector().

Referenced by llvm::AMDGPURegisterBankInfo::applyMappingLoad().

◆ dump()

LLVM_DUMP_METHOD void LLT::dump ( ) const

Definition at line 107 of file LowLevelType.cpp.

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

◆ fixed_vector() [1/2]

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 212 of file LowLevelType.h.

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

◆ fixed_vector() [2/2]

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 204 of file LowLevelType.h.

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

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

◆ float128()

constexpr LLT llvm::LLT::float128 ( )
inlinestaticconstexpr

Get a 128-bit IEEE quad value.

Definition at line 191 of file LowLevelType.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), floatIEEE(), and llvm::getLLTForType().

◆ float16()

◆ float32()

◆ float64()

◆ floatIEEE()

◆ floatingPoint()

LLT llvm::LLT::floatingPoint ( const FpSemantics & Sem)
inlinestatic

◆ getAddressSpace()

◆ getElementCount()

◆ getElementType()

LLT llvm::LLT::getElementType ( ) const
inline

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

Definition at line 510 of file LowLevelType.h.

References assert(), floatingPoint(), getAddressSpace(), getFpSemantics(), getScalarSizeInBits(), integer(), isFloatVector(), isIntegerVector(), isPointerVector(), isVector(), LLT(), pointer(), and scalar().

Referenced by llvm::LegalizeRuleSet::alignNumElementsTo(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::MachineIRBuilder::buildBuildVectorConstant(), llvm::CallLowering::buildCopyFromRegs(), llvm::CallLowering::buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::MachineIRBuilder::buildStepVector(), changeElementSize(), changeVectorElementCount(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), llvm::LegalizerHelper::equalizeVectorShuffleLengths(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), fewerEltsToSize64Vector(), llvm::getCoverTy(), llvm::getGCDType(), llvm::getLCMType(), getLMUL1Ty(), getReadAnyLaneSplitTy(), getScalarType(), llvm::LegalizerHelper::getVectorElementPointer(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), hasBufferRsrcWorkaround(), llvm::CombinerHelper::isConstantLegalOrBeforeLegalizer(), isFPIntrinsic(), isRegisterType(), isSmallOddVector(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), legalizeLoad(), legalizeSpvConstComposite(), legalizeSpvExtractElt(), legalizeSpvInsertElt(), legalizeStore(), llvm::LegalizerHelper::lowerBitcast(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizeMutations::moreElementsToNextPow2(), llvm::LegalizerHelper::moreElementsVector(), moreEltsToNext32Bit(), multiplyElements(), oneMoreElement(), operator==(), print(), registerSpirvTypeForNewInstructions(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), splitUnequalType(), widen96To128(), llvm::LegalizerHelper::widenScalar(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

◆ getFpSemantics()

FpSemantics llvm::LLT::getFpSemantics ( ) const
inlineconstexpr

Definition at line 405 of file LowLevelType.h.

References assert(), isFloat(), and isFloatVector().

Referenced by getElementType(), isFloat(), and vector().

◆ getKind()

Kind llvm::LLT::getKind ( ) const
inlineconstexpr

Definition at line 411 of file LowLevelType.h.

◆ getNumElements()

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

Returns the number of elements in a vector LLT.

Must only be called on vector types.

Definition at line 351 of file LowLevelType.h.

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

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

◆ getScalarSizeInBits()

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

Definition at line 497 of file LowLevelType.h.

References isPointerOrPointerVector().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::CombinerHelper::applyCombineMulToShl(), llvm::CombinerHelper::applyFunnelShiftConstantModulo(), llvm::CombinerHelper::applyLshrOfTruncOfLshr(), llvm::CombinerHelper::applyUMulHToLShr(), llvm::LegalizerHelper::bitcastShuffleVector(), llvm::MachineIRBuilder::buildConstant(), llvm::CallLowering::buildCopyFromRegs(), llvm::CallLowering::buildCopyToRegs(), llvm::CallLowering::IncomingValueHandler::buildExtensionHint(), llvm::CSEMIRBuilder::buildInstr(), llvm::CombinerHelper::buildSDivOrSRemUsingMul(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), llvm::LegalizerHelper::buildVariableShiftPart(), llvm::MachineIRBuilder::buildZExtInReg(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizeMutations::changeElementSizeTo(), changeToInteger(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), llvm::AArch64TargetLowering::computeNumSignBitsForTargetInstr(), llvm::ConstantFoldCastOp(), llvm::ConstantFoldUnaryIntOp(), divide(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::extractParts(), generateAssignInstrs(), llvm::AMDGPU::getBaseWithConstantOffset(), llvm::getCoverTy(), getElementType(), getMidVTForTruncRightShiftCombine(), getNarrowTypeBreakDown(), getSizeInBits(), llvm::CallLowering::ValueHandler::getStackValueStoreType(), llvm::CallLowering::handleAssignments(), llvm::isConstantOrConstantSplatVector(), isFixedVector(), isFloat(), llvm::SITargetLowering::isFPExtFoldable(), isInteger(), isScalar(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerAbsToAddXor(), llvm::LegalizerHelper::lowerEXT(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFunnelShiftAsShifts(), llvm::LegalizerHelper::lowerFunnelShiftWithInverse(), llvm::LegalizerHelper::lowerLoad(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerRoundInexactToOdd(), llvm::LegalizerHelper::lowerShlSat(), llvm::LegalizerHelper::lowerSMULH_UMULH(), llvm::LegalizerHelper::lowerTRUNC(), llvm::CombinerHelper::matchCastOfInteger(), llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), llvm::CombinerHelper::matchCombineTruncOfShift(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchSDivOrSRemByConst(), llvm::CombinerHelper::matchSextOfTrunc(), llvm::CombinerHelper::matchShiftsTooBig(), llvm::CombinerHelper::matchTruncateOfExt(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchUDivOrURemByConst(), llvm::CombinerHelper::matchZextOfTrunc(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarFLDEXP(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizerHelper::narrowScalarShiftByConstantMultiway(), llvm::LegalizerHelper::narrowScalarShiftMultiway(), operator==(), opMustUseVOP3Encoding(), print(), propagateSPIRVType(), llvm::LegalityPredicates::scalarOrEltNarrowerThan(), llvm::LegalityPredicates::scalarOrEltSizeNotPow2(), llvm::LegalityPredicates::scalarOrEltWiderThan(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), llvm::LegalizerHelper::widenScalar(), and widenScalarType().

◆ getScalarType()

LLT llvm::LLT::getScalarType ( ) const
inline

Definition at line 403 of file LowLevelType.h.

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

Referenced by llvm::CombinerHelper::applyCombineInsertVecElts(), llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastConcatVector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastShuffleVector(), llvm::MachineIRBuilder::buildConstant(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildFConstant(), llvm::CombinerHelper::buildSDivOrSRemUsingMul(), llvm::MachineIRBuilder::buildShuffleVector(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), changeElementCount(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), llvm::getGCDType(), getMemsetValue(), isCopyCompatibleType(), llvm::GISelValueTracking::isKnownNeverLogicalZero(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerRoundInexactToOdd(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::CombinerHelper::matchCastOfBuildVector(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchUseVectorTruncate(), mergeVectorRegsToResultRegs(), llvm::LegalizerHelper::moreElementsVector(), mutationIsSane(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), and llvm::LegalizerHelper::widenScalar().

◆ getSizeInBits()

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

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

Definition at line 388 of file LowLevelType.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::CombinerHelper::applyCombineExtendingLoads(), llvm::CombinerHelper::applyCombineUnmergeZExtToZExt(), llvm::RegisterBankInfo::applyDefaultMapping(), llvm::CombinerHelper::applyExtractVecEltBuildVec(), llvm::CombinerHelper::applyFunnelShiftConstantModulo(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::LegalizerHelper::bitcast(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::AMDGPULegalizerInfo::buildAbsGlobalAddress(), buildBitFieldInsert(), llvm::CallLowering::buildCopyFromRegs(), llvm::CallLowering::buildCopyToRegs(), llvm::MachineIRBuilder::buildExtract(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), llvm::MachineIRBuilder::buildStepVector(), llvm::MachineIRBuilder::buildUnmerge(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), changeToInteger(), clampVectorIndex(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), llvm::LegalizerHelper::createAtomicLibcall(), llvm::LegalizerHelper::createMemLibcall(), elementTypeIsLegal(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::CallLowering::ValueHandler::extendRegister(), llvm::extractParts(), llvm::LegalizerHelper::fewerElementsBitcast(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), findGISelOptimalMemOpLowering(), foldTruncOfI32Constant(), getBitcastWiderVectorElementOffset(), llvm::LegalizerHelper::getDynStackAllocTargetPtr(), llvm::getGCDType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::getLCMType(), getLMUL1Ty(), getNarrowTypeBreakDown(), getReadAnyLaneSplitTy(), llvm::MipsTargetLowering::getRegisterByName(), llvm::SITargetLowering::getRegisterByName(), llvm::TargetRegisterInfo::getRegSizeInBits(), getSizeInBytes(), getTestBitReg(), llvm::AMDGPURegisterBankInfo::getValueMappingForPtr(), llvm::LegalizerHelper::getVectorElementPointer(), llvm::AMDGPULegalizerInfo::handleD16VData(), isByteSized(), isCopyCompatibleType(), isExtractHiElt(), isFloat128(), isFloat16(), isFloat32(), isFloat64(), isFPIntrinsic(), isLshrHalf(), isRegisterType(), isRegisterVectorElementType(), isSameBitWidth(), isShlHalf(), isSmallOddVector(), isTruncHalf(), isWideVec16(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeCTLZ_CTTZ(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeExtract(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsert(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::RISCVLegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLaneOp(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizePointerAsRsrcIntrin(), llvm::LegalizerHelper::libcall(), llvm::LegalizerHelper::lower(), llvm::AArch64CallLowering::lowerCall(), llvm::LegalizerHelper::lowerEXT(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerUnmergeValues(), llvm::LegalizerHelper::lowerVAArg(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::LegalizerHelper::lowerVectorReduction(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineExtendingLoads(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineUnmergeConstant(), llvm::CombinerHelper::matchCombineUnmergeMergeToPlainValues(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchConstantLargerBitWidth(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), matchUniformityAndLLT(), llvm::LegalizeRuleSet::maxScalarIf(), mergeVectorRegsToResultRegs(), llvm::LegalizeRuleSet::minScalarIf(), moreEltsToNext32Bit(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarCTLS(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTPOP(), llvm::LegalizerHelper::narrowScalarCTTZ(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarInsert(), llvm::LegalizerHelper::narrowScalarMul(), llvm::LegalizerHelper::narrowScalarShift(), llvm::LegalizerHelper::narrowScalarShiftByConstant(), llvm::LegalizerHelper::reduceLoadStoreWidth(), registerSpirvTypeForNewInstructions(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarWiderThan(), 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 llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().

◆ getSizeInBytes()

◆ getUniqueRAWLLTData()

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

Definition at line 703 of file LowLevelType.h.

References uint64_t.

◆ getUseExtended()

bool llvm::LLT::getUseExtended ( )
inlinestatic

◆ integer()

LLT llvm::LLT::integer ( unsigned SizeInBits)
inlinestatic

Definition at line 93 of file LowLevelType.h.

References llvm::ElementCount::getFixed(), getUseExtended(), INTEGER, LLT(), and scalar().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::CombinerHelper::applySDivByPow2(), bitcastToVectorElement32(), llvm::AMDGPULegalizerInfo::buildAbsGlobalAddress(), buildAnyextOrCopy(), llvm::CallLowering::buildCopyFromRegs(), llvm::CallLowering::buildCopyToRegs(), llvm::AMDGPULegalizerInfo::buildLoadInputValue(), llvm::MachineIRBuilder::buildMaskLowPtrBits(), llvm::AMDGPULegalizerInfo::buildMultiply(), llvm::MachineIRBuilder::buildShuffleSplat(), llvm::CombinerHelper::buildUDivOrURemUsingMul(), castBufferRsrcFromV4I32(), castBufferRsrcToV4I32(), changeElementSize(), changeToInteger(), llvm::LegalizerHelper::coerceToInteger(), convertImageAddrToPacked(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), llvm::RegisterBankInfo::OperandsMapper::createVRegs(), divide(), emitReciprocalU64(), extractF64Exponent(), llvm::extractParts(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), findGISelOptimalMemOpLowering(), llvm::AMDGPULegalizerInfo::fixStoreSourceType(), getBitcastRegisterType(), getBufferRsrcRegisterType(), llvm::LegalizerHelper::getDynStackAllocTargetPtr(), getElementType(), llvm::getGCDType(), llvm::AMDGPULegalizerInfo::getImplicitArgPtr(), llvm::AMDGPULegalizerInfo::getKernargParameterPtr(), llvm::getLLTForType(), getNarrowTypeBreakDown(), llvm::AArch64TargetLowering::getOptimalMemOpLLT(), getReadAnyLaneSplitTy(), getScalarTypeFromMemDesc(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::TargetLoweringBase::getVectorIdxLLT(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBufferAtomic(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeBVHDualOrBVH8IntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeBVHIntersectRayIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeCTLS(), llvm::AMDGPULegalizerInfo::legalizeCTLZ_ZERO_POISON(), llvm::AMDGPULegalizerInfo::legalizeExtract(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeFDIV16(), llvm::AMDGPULegalizerInfo::legalizeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeFExp(), llvm::AMDGPULegalizerInfo::legalizeFEXPF64(), llvm::AMDGPULegalizerInfo::legalizeFFREXP(), llvm::AMDGPULegalizerInfo::legalizeFlogCommon(), llvm::AMDGPULegalizerInfo::legalizeFPTOI(), llvm::AMDGPULegalizerInfo::legalizeFSQRTF32(), llvm::AMDGPULegalizerInfo::legalizeFSQRTF64(), llvm::AMDGPULegalizerInfo::legalizeGetFPEnv(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeInsert(), 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::legalizeSBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeSetFPEnv(), llvm::AMDGPULegalizerInfo::legalizeSignedDIV_REM(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM32Impl(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM64Impl(), llvm::AMDGPULegalizerInfo::legalizeWaveID(), llvm::AMDGPULegalizerInfo::legalizeWorkGroupId(), llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), llvm::AMDGPULegalizerInfo::loadInputValue(), llvm::LegalizerHelper::lower(), llvm::LegalizerHelper::lowerAbsToCNeg(), llvm::LegalizerHelper::lowerBitreverse(), llvm::AArch64CallLowering::lowerCall(), llvm::LegalizerHelper::lowerExtract(), llvm::LegalizerHelper::lowerFAbs(), llvm::LegalizerHelper::lowerFCopySign(), llvm::LegalizerHelper::lowerFFloor(), llvm::LegalizerHelper::lowerFMinimumMaximum(), llvm::LegalizerHelper::lowerFMODF(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPEXT_BF16(), llvm::LegalizerHelper::lowerFPTOINT_SAT(), llvm::LegalizerHelper::lowerFPTRUNC_F32_TO_BF16(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::LegalizerHelper::lowerIntrinsicRound(), llvm::LegalizerHelper::lowerISFPCLASS(), llvm::LegalizerHelper::lowerMergeValues(), llvm::LegalizerHelper::lowerMinMax(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerRoundInexactToOdd(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerSITOFP(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTTZ(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarShift(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), llvm::AMDGPULegalizerInfo::splitBufferOffsets(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::WebAssemblyLegalizerInfo::WebAssemblyLegalizerInfo().

◆ isAnyScalar()

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

Definition at line 264 of file LowLevelType.h.

References ANY_SCALAR.

Referenced by isFloat128(), isFloat16(), isFloat32(), isFloat64(), and operator==().

◆ isAnyVector()

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

Definition at line 268 of file LowLevelType.h.

References VECTOR_ANY.

◆ isBFloat16()

bool llvm::LLT::isBFloat16 ( ) const
inline

Definition at line 333 of file LowLevelType.h.

References getUseExtended(), and isFloat().

Referenced by matchUniformityAndLLT(), and print().

◆ isByteSized()

◆ isFixedVector() [1/2]

◆ isFixedVector() [2/2]

bool llvm::LLT::isFixedVector ( unsigned NumElements,
unsigned ScalarSize ) const
inlineconstexpr

Definition at line 371 of file LowLevelType.h.

References getNumElements(), getScalarSizeInBits(), and isFixedVector().

◆ isFloat() [1/3]

◆ isFloat() [2/3]

bool llvm::LLT::isFloat ( FpSemantics Sem) const
inlineconstexpr

Definition at line 302 of file LowLevelType.h.

References getFpSemantics(), and isFloat().

◆ isFloat() [3/3]

bool llvm::LLT::isFloat ( unsigned Size) const
inlineconstexpr

Definition at line 299 of file LowLevelType.h.

References getScalarSizeInBits(), isFloat(), and Size.

◆ isFloat128()

bool llvm::LLT::isFloat128 ( ) const
inline

◆ isFloat16()

bool llvm::LLT::isFloat16 ( ) const
inline

◆ isFloat32()

bool llvm::LLT::isFloat32 ( ) const
inline

◆ isFloat64()

bool llvm::LLT::isFloat64 ( ) const
inline

◆ isFloatIEEE()

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

◆ isFloatOrFloatVector()

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

Definition at line 279 of file LowLevelType.h.

References isFloat(), and isFloatVector().

◆ isFloatVector()

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

Definition at line 272 of file LowLevelType.h.

References VECTOR_FLOAT.

Referenced by getElementType(), getFpSemantics(), and isFloatOrFloatVector().

◆ isInteger() [1/2]

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

Definition at line 265 of file LowLevelType.h.

References INTEGER.

Referenced by changeElementSize(), divide(), isInteger(), and print().

◆ isInteger() [2/2]

bool llvm::LLT::isInteger ( unsigned Size) const
inlineconstexpr

Definition at line 295 of file LowLevelType.h.

References getScalarSizeInBits(), isInteger(), and Size.

◆ isIntegerVector()

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

Definition at line 269 of file LowLevelType.h.

References VECTOR_INTEGER.

Referenced by getElementType().

◆ isPointer()

◆ isPointerOrPointerVector()

◆ isPointerVector()

◆ isPPCF128()

bool llvm::LLT::isPPCF128 ( ) const
inline

Definition at line 343 of file LowLevelType.h.

References getUseExtended(), and isFloat().

Referenced by print().

◆ isScalable()

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 362 of file LowLevelType.h.

References assert(), and isVector().

Referenced by llvm::MachineIRBuilder::buildInstr(), getElementCount(), llvm::getGCDType(), llvm::getLCMType(), getNumElements(), isFixedVector(), isScalableVector(), llvm::LegalizerHelper::lower(), and llvm::LegalizerHelper::moreElementsVector().

◆ isScalableVector()

◆ isScalar() [1/2]

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

Definition at line 283 of file LowLevelType.h.

References ANY_SCALAR, FLOAT, and INTEGER.

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

◆ isScalar() [2/2]

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

Definition at line 287 of file LowLevelType.h.

References getScalarSizeInBits(), isScalar(), and Size.

◆ isToken()

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

Definition at line 260 of file LowLevelType.h.

References ANY_SCALAR.

Referenced by isValid().

◆ isValid()

◆ isVector()

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

Definition at line 290 of file LowLevelType.h.

References VECTOR_ANY, VECTOR_FLOAT, VECTOR_INTEGER, and VECTOR_POINTER.

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::CombinerHelper::applySDivByPow2(), llvm::LegalizerHelper::bitcastExtractSubvector(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertSubvector(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::CallLowering::buildCopyFromRegs(), llvm::CallLowering::buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::CSEMIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildPadVectorWithUndefElements(), llvm::LegalizationArtifactCombiner::canFoldMergeOpcode(), llvm::LegalizeMutations::changeElementCountTo(), changeElementSize(), changeElementType(), changeToInteger(), changeVectorElementCount(), llvm::GISelValueTracking::computeKnownBitsImpl(), llvm::GISelValueTracking::computeNumSignBits(), llvm::ConstantFoldUnaryIntOp(), deduceAndAssignTypeForGUnmerge(), deduceTypeFromResultRegister(), deduceTypeFromSingleOperand(), divide(), llvm::LegalityPredicates::elementTypeIs(), elementTypeIsLegal(), llvm::extractParts(), llvm::extractVectorParts(), llvm::LegalizerHelper::fewerElementsVector(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorMerge(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), findGISelOptimalMemOpLowering(), generateAssignInstrs(), llvm::generateSelectInst(), llvm::getCoverTy(), getElementCount(), getElementType(), llvm::getGCDType(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::getLCMType(), getMaskTypeFor(), getNarrowTypeBreakDown(), getOutlineAtomicLibcall(), getScalarType(), getVectorShiftImm(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::AMDGPURegisterBankInfo::handleD16VData(), hasSameNumEltsOnAllVectorOperands(), isFixedVector(), isRegisterType(), isScalable(), isScalableVector(), isWideScalarExtLoadTruncStore(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeBuildVector(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeLoad(), legalizeStore(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::AArch64CallLowering::lowerReturn(), llvm::LegalizerHelper::lowerStore(), llvm::LegalizerHelper::lowerThreewayCompare(), llvm::LegalizerHelper::lowerTRUNC(), llvm::CombinerHelper::matchCombineBuildUnmerge(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSuboCarryOut(), llvm::CombinerHelper::matchUDivOrURemByConst(), multiplyElements(), mutationIsSane(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarExt(), llvm::LegalizerHelper::narrowScalarShift(), numElementsNotEven(), operator==(), print(), registerSpirvTypeForNewInstructions(), shouldBitcastLoadStoreType(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), 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(), and llvm::LegalizerHelper::widenScalar().

◆ isX86FP80()

bool llvm::LLT::isX86FP80 ( ) const
inline

Definition at line 338 of file LowLevelType.h.

References getUseExtended(), and isFloat().

◆ multiplyElements()

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

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 485 of file LowLevelType.h.

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

◆ operator!=()

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

Definition at line 552 of file LowLevelType.h.

◆ operator==()

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

◆ pointer()

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

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

Definition at line 116 of file LowLevelType.h.

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

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

◆ ppcf128()

constexpr LLT llvm::LLT::ppcf128 ( )
inlinestaticconstexpr

Get a 128-bit PowerPC double double value.

Definition at line 197 of file LowLevelType.h.

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

Referenced by llvm::getLLTForType().

◆ print()

◆ scalable_vector() [1/2]

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 226 of file LowLevelType.h.

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

◆ scalable_vector() [2/2]

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 218 of file LowLevelType.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), getLMUL1Ty(), llvm::MachineFunction::getMachineMemOperand(), and llvm::RISCVLegalizerInfo::RISCVLegalizerInfo().

◆ scalar()

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

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

Definition at line 89 of file LowLevelType.h.

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

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), addMBBNames(), llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(), allocateVGPR32Input(), llvm::AMDGPURegisterBankInfo::applyMappingBFE(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), llvm::AMDGPURegisterBankInfo::applyMappingSMULU64(), llvm::ARMLegalizerInfo::ARMLegalizerInfo(), llvm::buildBoolRegister(), llvm::SPIRVGlobalRegistry::buildConstantFP(), llvm::SPIRVGlobalRegistry::buildConstantInt(), llvm::CallLowering::buildCopyFromRegs(), llvm::MachineIRBuilder::buildLoadFromOffset(), llvm::AMDGPULegalizerInfo::buildMultiply(), llvm::buildPipeInst(), llvm::AMDGPURegisterBankInfo::buildReadFirstLane(), buildSplatSplitS64WithVL(), llvm::LegalizerHelper::buildVariableShiftPart(), changeElementSize(), llvm::SPIRVGlobalRegistry::createConstFP(), llvm::SPIRVGlobalRegistry::createConstInt(), createTypeVReg(), divide(), elementTypeIsLegal(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::GIMatchTableExecutor::executeMatchTable(), extendLow32IntoHigh32(), llvm::CallLowering::ValueHandler::extendRegister(), fixed_vector(), floatIEEE(), floatingPoint(), llvm::generateBuiltinVar(), llvm::generateGroupInst(), llvm::generateWaveInst(), llvm::genWorkgroupQuery(), getAnySgprS1(), getBufferRsrcScalarType(), getElementType(), llvm::getFConstantVRegValWithLookThrough(), getHalfSizedType(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::getLCMType(), llvm::getLLTForType(), llvm::MachineFunction::getMachineMemOperand(), getMaskTypeFor(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), getPow2ScalarType(), llvm::AMDGPUFunctionArgInfo::getPreloadedValue(), llvm::AMDGPURegisterBankInfo::getRegBankFromRegClass(), RegBankSelectHelper::getRegBankToAssign(), llvm::AVRTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::getRegisterByName(), llvm::SPIRVGlobalRegistry::getRegType(), llvm::AMDGPULegalizerInfo::getScaledLogInput(), M68kOutgoingArgHandler::getStackAddress(), llvm::AMDGPURegisterBankInfo::handleD16VData(), insertInlineAsmProcess(), integer(), AMDGPURegBankLegalizeCombiner::isLaneMask(), isRegisterClassType(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::SPIRVLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeFceil(), llvm::AMDGPULegalizerInfo::legalizeFDIV32(), llvm::AMDGPULegalizerInfo::legalizeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeFDIVFastIntrin(), llvm::AMDGPULegalizerInfo::legalizeFExp(), llvm::AMDGPULegalizerInfo::legalizeFExp10Unsafe(), llvm::AMDGPULegalizerInfo::legalizeFExp2(), llvm::AMDGPULegalizerInfo::legalizeFEXPF64(), llvm::AMDGPULegalizerInfo::legalizeFExpUnsafe(), llvm::AMDGPULegalizerInfo::legalizeFFloor(), llvm::AMDGPULegalizerInfo::legalizeFFREXP(), llvm::AMDGPULegalizerInfo::legalizeFlogCommon(), llvm::AMDGPULegalizerInfo::legalizeFroundeven(), llvm::AMDGPULegalizerInfo::legalizeIntrinsicTrunc(), legalizeLoad(), legalizeSpvExtractElt(), legalizeSpvInsertElt(), legalizeStore(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM32Impl(), llvm::AMDGPULegalizerInfo::legalizeUnsignedDIV_REM64Impl(), llvm::AMDGPULegalizerInfo::legalizeWorkGroupId(), LLTToBId(), LLTToId(), llvm::LegalizerHelper::lowerAbsDiffToSelect(), llvm::SPIRVCallLowering::lowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::SPIRVCallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPTOSI(), llvm::LegalizerHelper::lowerFPTOUI(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), llvm::LegalizerHelper::lowerInsert(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerSelect(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::LegalizerHelper::lowerU64ToF32WithSITOFP(), llvm::LegalizerHelper::lowerU64ToF64BitFloatOps(), llvm::LegalizerHelper::lowerUITOFP(), llvm::LegalizerHelper::lowerVAArg(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchUDivOrURemByConst(), matchUniformityAndLLT(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarCTLS(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarInsert(), llvm::LegalizerHelper::narrowScalarShiftMultiway(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), reinsertVectorIndexAdd(), llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(), scalable_vector(), scalarOrVector(), llvm::AMDGPUInstructionSelector::select(), llvm::AMDGPURegisterBankInfo::setBufferOffsets(), llvm::MipsRegisterBankInfo::setRegBank(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), llvm::AMDGPURegisterBankInfo::splitBufferOffsets(), splitUnequalType(), unpackV2S16ToS32(), llvm::WebAssemblyLegalizerInfo::WebAssemblyLegalizerInfo(), widen96To128(), widenScalarType(), widenSignSensitiveOps(), and llvm::X86LegalizerInfo::X86LegalizerInfo().

◆ scalarOrVector() [1/2]

◆ scalarOrVector() [2/2]

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

Definition at line 234 of file LowLevelType.h.

References assert(), LLT(), scalar(), scalarOrVector(), and uint64_t.

◆ setUseExtended()

◆ token()

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

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

Definition at line 110 of file LowLevelType.h.

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

Referenced by llvm::getLLTForType().

◆ toScalar()

constexpr Kind llvm::LLT::toScalar ( Kind Ty)
inlinestaticconstexpr

Definition at line 75 of file LowLevelType.h.

References ANY_SCALAR, FLOAT, INTEGER, POINTER, VECTOR_FLOAT, VECTOR_INTEGER, and VECTOR_POINTER.

◆ toVector()

constexpr Kind llvm::LLT::toVector ( Kind Ty)
inlinestaticconstexpr

Definition at line 62 of file LowLevelType.h.

References FLOAT, INTEGER, POINTER, VECTOR_ANY, VECTOR_FLOAT, VECTOR_INTEGER, and VECTOR_POINTER.

Referenced by vector().

◆ vector() [1/2]

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 129 of file LowLevelType.h.

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

◆ vector() [2/2]

◆ x86fp80()

constexpr LLT llvm::LLT::x86fp80 ( )
inlinestaticconstexpr

Get a 80-bit X86 floating point value.

Definition at line 185 of file LowLevelType.h.

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

Referenced by llvm::getLLTForType().

◆ DenseMapInfo< LLT >

friend struct DenseMapInfo< LLT >
friend

Definition at line 552 of file LowLevelType.h.

References LLT(), and RHS.

◆ GISelInstProfileBuilder

friend class GISelInstProfileBuilder
friend

Definition at line 555 of file LowLevelType.h.

References GISelInstProfileBuilder, and llvm::APFloatBase::S_MaxSemantics.

Referenced by GISelInstProfileBuilder.


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