LLVM 20.0.0git
|
#include "llvm/CodeGenTypes/LowLevelType.h"
Public Member Functions | |
constexpr | LLT (bool isPointer, bool isVector, bool isScalar, ElementCount EC, uint64_t SizeInBits, unsigned AddressSpace) |
constexpr | LLT () |
LLT (MVT VT) | |
constexpr bool | isValid () const |
constexpr bool | isScalar () const |
constexpr bool | isToken () const |
constexpr bool | isVector () const |
constexpr bool | isPointer () const |
constexpr bool | isPointerVector () const |
constexpr bool | isPointerOrPointerVector () const |
constexpr uint16_t | getNumElements () const |
Returns the number of elements in a vector LLT. | |
constexpr bool | isScalable () const |
Returns true if the LLT is a scalable vector. | |
constexpr bool | isFixedVector () const |
Returns true if the LLT is a fixed vector. | |
constexpr bool | isScalableVector () const |
Returns true if the LLT is a scalable vector. | |
constexpr ElementCount | getElementCount () const |
constexpr TypeSize | getSizeInBits () const |
Returns the total size of the type. Must only be called on sized types. | |
constexpr TypeSize | getSizeInBytes () const |
Returns the total size of the type in bytes, i.e. | |
constexpr LLT | getScalarType () const |
constexpr LLT | changeElementType (LLT NewEltTy) const |
If this type is a vector, return a vector with the same number of elements but the new element type. | |
constexpr LLT | changeElementSize (unsigned NewEltSize) const |
If this type is a vector, return a vector with the same number of elements but the new element size. | |
constexpr LLT | changeElementCount (ElementCount EC) const |
Return a vector or scalar with the same element type and the new element count. | |
constexpr LLT | divide (int Factor) const |
Return a type that is Factor times smaller. | |
constexpr LLT | multiplyElements (int Factor) const |
Produce a vector type that is Factor times bigger, preserving the element type. | |
constexpr bool | isByteSized () const |
constexpr unsigned | getScalarSizeInBits () const |
constexpr unsigned | getAddressSpace () const |
constexpr LLT | getElementType () const |
Returns the vector's element type. Only valid for vector types. | |
void | print (raw_ostream &OS) const |
LLVM_DUMP_METHOD void | dump () const |
constexpr bool | operator== (const LLT &RHS) const |
constexpr bool | operator!= (const LLT &RHS) const |
constexpr uint64_t | getUniqueRAWLLTData () const |
Static Public Member Functions | |
static constexpr LLT | scalar (unsigned SizeInBits) |
Get a low-level scalar or aggregate "bag of bits". | |
static constexpr LLT | token () |
Get a low-level token; just a scalar with zero bits (or no size). | |
static constexpr LLT | pointer (unsigned AddressSpace, unsigned SizeInBits) |
Get a low-level pointer in the given address space. | |
static constexpr LLT | vector (ElementCount EC, unsigned ScalarSizeInBits) |
Get a low-level vector of some number of elements and element width. | |
static constexpr LLT | vector (ElementCount EC, LLT ScalarTy) |
Get a low-level vector of some number of elements and element type. | |
static constexpr LLT | float16 () |
Get a 16-bit IEEE half value. | |
static constexpr LLT | float32 () |
Get a 32-bit IEEE float value. | |
static constexpr LLT | float64 () |
Get a 64-bit IEEE double value. | |
static constexpr LLT | fixed_vector (unsigned NumElements, unsigned ScalarSizeInBits) |
Get a low-level fixed-width vector of some number of elements and element width. | |
static constexpr LLT | fixed_vector (unsigned NumElements, LLT ScalarTy) |
Get a low-level fixed-width vector of some number of elements and element type. | |
static constexpr LLT | scalable_vector (unsigned MinNumElements, unsigned ScalarSizeInBits) |
Get a low-level scalable vector of some number of elements and element width. | |
static constexpr LLT | scalable_vector (unsigned MinNumElements, LLT ScalarTy) |
Get a low-level scalable vector of some number of elements and element type. | |
static constexpr LLT | scalarOrVector (ElementCount EC, LLT ScalarTy) |
static constexpr LLT | scalarOrVector (ElementCount EC, uint64_t ScalarSize) |
Friends | |
struct | DenseMapInfo< LLT > |
class | GISelInstProfileBuilder |
Definition at line 39 of file LowLevelType.h.
|
inlineexplicitconstexpr |
Definition at line 134 of file LowLevelType.h.
References isPointer(), isScalar(), and isVector().
|
inlineexplicitconstexpr |
Definition at line 140 of file LowLevelType.h.
|
explicit |
Definition at line 19 of file LowLevelType.cpp.
References llvm::ElementCount::getFixed(), llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementCount(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorMinNumElements(), llvm::MVT::isScalableTargetExtVT(), llvm::MVT::isScalableVector(), llvm::MVT::isValid(), and llvm::MVT::isVector().
|
inlineconstexpr |
Return a vector or scalar with the same element type and the new element count.
Definition at line 227 of file LowLevelType.h.
References getScalarType(), and scalarOrVector().
Referenced by llvm::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(), and widenToNextPowerOf2().
If this type is a vector, return a vector with the same number of elements but the new element size.
Otherwise, return the new element type. Invalid for pointer types. For pointer types, use changeElementType.
Definition at line 218 of file LowLevelType.h.
References assert(), getElementCount(), isPointerOrPointerVector(), isVector(), scalar(), and vector().
Referenced by llvm::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(), and llvm::LegalizeMutations::widenScalarOrEltToNextPow2().
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 211 of file LowLevelType.h.
References getElementCount(), isVector(), and vector().
Referenced by llvm::CombinerHelper::applyUseVectorTruncate(), llvm::LegalizerHelper::bitcastShuffleVector(), buildCopyFromRegs(), llvm::LegalizeMutations::changeElementSizeTo(), llvm::LegalizeMutations::changeElementTo(), isRegisterClassType(), llvm::AMDGPULegalizerInfo::legalizeExtractVectorElt(), llvm::AMDGPULegalizerInfo::legalizeInsertVectorElt(), llvm::LegalizerHelper::lowerSelect(), llvm::CombinerHelper::matchUseVectorTruncate(), and llvm::LegalizerHelper::widenScalar().
|
inlineconstexpr |
Return a type that is Factor
times smaller.
Reduces the number of elements if this is a vector, or the bitwidth for scalar/pointers. Does not attempt to handle cases that aren't evenly divisible.
Definition at line 234 of file LowLevelType.h.
References assert(), getElementCount(), getElementType(), getScalarSizeInBits(), isScalar(), isVector(), scalar(), and scalarOrVector().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), and llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad().
LLVM_DUMP_METHOD void LLT::dump | ( | ) | const |
Definition at line 52 of file LowLevelType.cpp.
References llvm::dbgs(), and print().
|
inlinestaticconstexpr |
Get a low-level fixed-width vector of some number of elements and element type.
Definition at line 107 of file LowLevelType.h.
References llvm::ElementCount::getFixed(), and vector.
|
inlinestaticconstexpr |
Get a low-level fixed-width vector of some number of elements and element width.
Definition at line 100 of file LowLevelType.h.
References llvm::ElementCount::getFixed(), and vector.
Referenced by llvm::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(), 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(), 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(), and llvm::X86LegalizerInfo::X86LegalizerInfo().
|
inlinestaticconstexpr |
Get a 16-bit IEEE half value.
TODO: Add IEEE semantics to type - This currently returns a simple scalar(16)
.
Definition at line 84 of file LowLevelType.h.
References scalar().
Referenced by llvm::AMDGPULegalizerInfo::legalizeFMad(), and llvm::AMDGPULegalizerInfo::legalizeFPow().
|
inlinestaticconstexpr |
Get a 32-bit IEEE float value.
Definition at line 89 of file LowLevelType.h.
References scalar().
Referenced by llvm::AMDGPULegalizerInfo::legalizeFMad(), and llvm::AMDGPULegalizerInfo::legalizeFPow().
|
inlinestaticconstexpr |
Get a 64-bit IEEE double value.
Definition at line 94 of file LowLevelType.h.
References scalar().
Referenced by llvm::AMDGPULegalizerInfo::legalizeFFloor().
|
inlineconstexpr |
Definition at line 270 of file LowLevelType.h.
References assert(), and isPointerOrPointerVector().
Referenced by llvm::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(), and vector().
|
inlineconstexpr |
Definition at line 183 of file LowLevelType.h.
References assert(), llvm::ElementCount::get(), and isScalable().
Referenced by llvm::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(), and llvm::LegalizerHelper::widenScalar().
|
inlineconstexpr |
Returns the vector's element type. Only valid for vector types.
Definition at line 277 of file LowLevelType.h.
References assert(), getAddressSpace(), getScalarSizeInBits(), isVector(), pointer(), and scalar().
Referenced by llvm::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(), 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(), shouldBitcastLoadStoreType(), splitUnequalType(), widen96To128(), and llvm::LegalizerHelper::widenScalar().
|
inlineconstexpr |
Returns the number of elements in a vector LLT.
Must only be called on vector types.
Definition at line 159 of file LowLevelType.h.
References getElementCount(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), isScalable(), and llvm::reportInvalidSizeRequest().
Referenced by llvm::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::LegalizationArtifactCombiner::tryFoldUnmergeCast(), widenToNextPowerOf2(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().
|
inlineconstexpr |
Definition at line 264 of file LowLevelType.h.
References isPointerOrPointerVector().
Referenced by llvm::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(), and llvm::LegalizeMutations::widenScalarOrEltToNextPow2().
|
inlineconstexpr |
Definition at line 205 of file LowLevelType.h.
References getElementType(), and isVector().
Referenced by llvm::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::CombinerHelper::matchPtrAddZero(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizerHelper::moreElementsVector(), mutationIsSane(), llvm::LegalizerHelper::narrowScalarFPTOI(), and llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast().
|
inlineconstexpr |
Returns the total size of the type. Must only be called on sized types.
Definition at line 190 of file LowLevelType.h.
References getElementCount(), llvm::TypeSize::getFixed(), getScalarSizeInBits(), isPointer(), and isScalar().
Referenced by llvm::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::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(), 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::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(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().
|
inlineconstexpr |
Returns the total size of the type in bytes, i.e.
number of whole bytes needed to represent the size in bits. Must only be called on sized types.
Definition at line 200 of file LowLevelType.h.
References llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), getSizeInBits(), and llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable().
Referenced by llvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(), findGISelOptimalMemOpLowering(), getOutlineAtomicLibcall(), llvm::LegalizerHelper::getStackTemporaryAlignment(), llvm::CallLowering::handleAssignments(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerLoad(), llvm::LegalizerHelper::lowerStore(), and llvm::LegalityPredicates::memSizeNotByteSizePow2().
|
inlineconstexpr |
Definition at line 404 of file LowLevelType.h.
Referenced by llvm::GISelInstProfileBuilder::addNodeIDRegType(), and llvm::DenseMapInfo< LLT >::getHashValue().
|
inlineconstexpr |
Definition at line 260 of file LowLevelType.h.
References getSizeInBits(), and llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isKnownMultipleOf().
Referenced by llvm::LegalizerInfo::getExtOpcodeForWideningConstant(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), and llvm::LegalityPredicates::memSizeNotByteSizePow2().
|
inlineconstexpr |
Returns true if the LLT is a fixed vector.
Returns false otherwise, even if the LLT is not a vector type.
Definition at line 177 of file LowLevelType.h.
References isScalable(), and isVector().
Referenced by llvm::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(), and llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize().
|
inlineconstexpr |
Definition at line 149 of file LowLevelType.h.
References isValid().
Referenced by llvm::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(), and vector().
|
inlineconstexpr |
Definition at line 153 of file LowLevelType.h.
References isValid().
Referenced by llvm::MachineIRBuilder::buildCast(), changeElementSize(), getAddressSpace(), getScalarSizeInBits(), isRegisterClassType(), and llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().
|
inlineconstexpr |
Definition at line 152 of file LowLevelType.h.
References isVector().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizerHelper::coerceToScalar(), and loadStoreBitcastWorkaround().
|
inlineconstexpr |
Returns true if the LLT is a scalable vector.
Must only be called on vector types.
Definition at line 170 of file LowLevelType.h.
References assert(), and isVector().
Referenced by getElementCount(), llvm::getGCDType(), llvm::getLCMType(), getNumElements(), isFixedVector(), isScalableVector(), and llvm::LegalizerHelper::moreElementsVector().
|
inlineconstexpr |
Returns true if the LLT is a scalable vector.
Returns false otherwise, even if the LLT is not a vector type.
Definition at line 181 of file LowLevelType.h.
References isScalable(), and isVector().
Referenced by llvm::MachineIRBuilder::buildConstant(), buildDefaultVLOps(), llvm::MachineIRBuilder::buildFConstant(), llvm::LegalizeRuleSet::clampNumElements(), llvm::getCoverTy(), llvm::getGCDType(), llvm::getLCMType(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(), and shiftAmountKnownInRange().
|
inlineconstexpr |
Definition at line 146 of file LowLevelType.h.
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), buildCopyToRegs(), llvm::MachineIRBuilder::buildDeleteTrailingVectorElements(), llvm::MachineIRBuilder::buildInstr(), llvm::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(), and widenScalarLLTNextPow2().
|
inlineconstexpr |
Definition at line 147 of file LowLevelType.h.
|
inlineconstexpr |
Definition at line 145 of file LowLevelType.h.
Referenced by llvm::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(), llvm::TargetRegisterInfo::getMinimalPhysRegClassLLT(), 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(), and llvm::RegisterBankInfo::InstructionMapping::verify().
|
inlineconstexpr |
Definition at line 148 of file LowLevelType.h.
References isValid().
Referenced by llvm::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(), 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(), 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(), and widenToNextPowerOf2().
|
inlineconstexpr |
Produce a vector type that is Factor
times bigger, preserving the element type.
For a scalar or pointer, this will produce a new vector with Factor
elements.
Definition at line 251 of file LowLevelType.h.
References fixed_vector(), getElementCount(), getElementType(), isVector(), and scalarOrVector().
Definition at line 296 of file LowLevelType.h.
Definition at line 291 of file LowLevelType.h.
References RHS.
|
inlinestaticconstexpr |
Get a low-level pointer in the given address space.
Definition at line 57 of file LowLevelType.h.
References assert(), and llvm::ElementCount::getFixed().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), addCallTargetOperands(), llvm::SITargetLowering::allocateHSAUserSGPRs(), allocateHSAUserSGPRs(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), 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(), llvm::MipsCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), llvm::M68kLegalizerInfo::M68kLegalizerInfo(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), and llvm::X86LegalizerInfo::X86LegalizerInfo().
void LLT::print | ( | raw_ostream & | OS | ) | const |
Definition at line 38 of file LowLevelType.cpp.
References assert(), getAddressSpace(), getElementCount(), getElementType(), getScalarSizeInBits(), isPointer(), isScalar(), isValid(), isVector(), and OS.
Referenced by dump(), and llvm::operator<<().
|
inlinestaticconstexpr |
Get a low-level scalable vector of some number of elements and element type.
Definition at line 120 of file LowLevelType.h.
References llvm::ElementCount::getScalable(), and vector.
|
inlinestaticconstexpr |
Get a low-level scalable vector of some number of elements and element width.
Definition at line 113 of file LowLevelType.h.
References llvm::ElementCount::getScalable(), and vector.
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), getLMUL1Ty(), and llvm::RISCVLegalizerInfo::RISCVLegalizerInfo().
Get a low-level scalar or aggregate "bag of bits".
Definition at line 42 of file LowLevelType.h.
References llvm::ElementCount::getFixed().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), addMBBNames(), 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::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(), 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(), llvm::AMDGPURegisterBankInfo::getRegBankFromRegClass(), 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(), 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(), 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::CombinerHelper::matchCombineLoadWithAndMask(), llvm::AMDGPUCombinerHelper::matchExpandPromotedF16FMed3(), llvm::CombinerHelper::matchNarrowBinopFeedingAnd(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchUDivByConst(), matchZeroExtendFromS32(), llvm::LegalizeRuleSet::minScalarEltSameAsIf(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::LegalizerHelper::narrowScalarCTLZ(), llvm::LegalizerHelper::narrowScalarCTTZ(), llvm::LegalizerHelper::narrowScalarExtract(), llvm::LegalizerHelper::narrowScalarFPTOI(), llvm::LegalizerHelper::narrowScalarInsert(), llvm::LegalizerHelper::narrowScalarShift(), packImage16bitOpsToDwords(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), llvm::LegalizerHelper::reduceLoadStoreWidth(), reinsertVectorIndexAdd(), llvm::RISCVLegalizerInfo::RISCVLegalizerInfo(), 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(), and llvm::X86LegalizerInfo::X86LegalizerInfo().
|
inlinestaticconstexpr |
Definition at line 124 of file LowLevelType.h.
References vector().
Referenced by llvm::LegalizerHelper::bitcastExtractVectorElt(), bitcastToVectorElement32(), changeElementCount(), llvm::LegalizeRuleSet::clampMaxNumElements(), divide(), fewerEltsToSize64Vector(), getBitcastRegisterType(), llvm::getCoverTy(), llvm::getGCDType(), getHalfSizedType(), llvm::getLLTForMVT(), getNarrowTypeBreakDown(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), multiplyElements(), scalarOrVector(), and splitUnequalType().
|
inlinestaticconstexpr |
Definition at line 128 of file LowLevelType.h.
References assert(), scalar(), and scalarOrVector().
|
inlinestaticconstexpr |
Get a low-level token; just a scalar with zero bits (or no size).
Definition at line 49 of file LowLevelType.h.
References llvm::ElementCount::getFixed().
Referenced by llvm::getLLTForType().
|
inlinestaticconstexpr |
Get a low-level vector of some number of elements and element type.
Definition at line 71 of file LowLevelType.h.
References assert(), getAddressSpace(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), getSizeInBits(), isPointer(), and isVector().
|
inlinestaticconstexpr |
Get a low-level vector of some number of elements and element width.
Definition at line 64 of file LowLevelType.h.
References assert().
Referenced by llvm::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(), and llvm::LegalizerHelper::widenScalar().
|
friend |
Definition at line 296 of file LowLevelType.h.
|
friend |
Definition at line 299 of file LowLevelType.h.