|
LLVM
4.0.0
|
EVT - Extended Value Type. More...
#include <ValueTypes.h>
Classes | |
| struct | compareRawBits |
| compareRawBits - A meaningless but well-behaved order, useful for constructing containers. More... | |
Public Member Functions | |
| constexpr | EVT () |
| constexpr | EVT (MVT::SimpleValueType SVT) |
| constexpr | EVT (MVT S) |
| bool | operator== (EVT VT) const |
| bool | operator!= (EVT VT) const |
| EVT | changeVectorElementTypeToInteger () const |
| changeVectorElementTypeToInteger - Return a vector with the same number of elements as this vector, but with the element type converted to an integer type with the same bitwidth. More... | |
| EVT | changeTypeToInteger () |
| Return the type converted to an equivalently sized integer or vector with integer element type. More... | |
| bool | isSimple () const |
| isSimple - Test if the given EVT is simple (as opposed to being extended). More... | |
| bool | isExtended () const |
| isExtended - Test if the given EVT is extended (as opposed to being simple). More... | |
| bool | isFloatingPoint () const |
| isFloatingPoint - Return true if this is a FP, or a vector FP type. More... | |
| bool | isInteger () const |
| isInteger - Return true if this is an integer, or a vector integer type. More... | |
| bool | isScalarInteger () const |
| isScalarInteger - Return true if this is an integer, but not a vector. More... | |
| bool | isVector () const |
| isVector - Return true if this is a vector value type. More... | |
| bool | is16BitVector () const |
| is16BitVector - Return true if this is a 16-bit vector type. More... | |
| bool | is32BitVector () const |
| is32BitVector - Return true if this is a 32-bit vector type. More... | |
| bool | is64BitVector () const |
| is64BitVector - Return true if this is a 64-bit vector type. More... | |
| bool | is128BitVector () const |
| is128BitVector - Return true if this is a 128-bit vector type. More... | |
| bool | is256BitVector () const |
| is256BitVector - Return true if this is a 256-bit vector type. More... | |
| bool | is512BitVector () const |
| is512BitVector - Return true if this is a 512-bit vector type. More... | |
| bool | is1024BitVector () const |
| is1024BitVector - Return true if this is a 1024-bit vector type. More... | |
| bool | is2048BitVector () const |
| is2048BitVector - Return true if this is a 2048-bit vector type. More... | |
| bool | isOverloaded () const |
| isOverloaded - Return true if this is an overloaded type for TableGen. More... | |
| bool | isByteSized () const |
| isByteSized - Return true if the bit size is a multiple of 8. More... | |
| bool | isRound () const |
| isRound - Return true if the size is a power-of-two number of bytes. More... | |
| bool | bitsEq (EVT VT) const |
| bitsEq - Return true if this has the same number of bits as VT. More... | |
| bool | bitsGT (EVT VT) const |
| bitsGT - Return true if this has more bits than VT. More... | |
| bool | bitsGE (EVT VT) const |
| bitsGE - Return true if this has no less bits than VT. More... | |
| bool | bitsLT (EVT VT) const |
| bitsLT - Return true if this has less bits than VT. More... | |
| bool | bitsLE (EVT VT) const |
| bitsLE - Return true if this has no more bits than VT. More... | |
| MVT | getSimpleVT () const |
| getSimpleVT - Return the SimpleValueType held in the specified simple EVT. More... | |
| EVT | getScalarType () const |
| getScalarType - If this is a vector type, return the element type, otherwise return this. More... | |
| EVT | getVectorElementType () const |
| getVectorElementType - Given a vector type, return the type of each element. More... | |
| unsigned | getVectorNumElements () const |
| getVectorNumElements - Given a vector type, return the number of elements it contains. More... | |
| unsigned | getSizeInBits () const |
| getSizeInBits - Return the size of the specified value type in bits. More... | |
| unsigned | getScalarSizeInBits () const |
| unsigned | getStoreSize () const |
| getStoreSize - Return the number of bytes overwritten by a store of the specified value type. More... | |
| unsigned | getStoreSizeInBits () const |
| getStoreSizeInBits - Return the number of bits overwritten by a store of the specified value type. More... | |
| EVT | getRoundIntegerType (LLVMContext &Context) const |
| getRoundIntegerType - Rounds the bit-width of the given integer EVT up to the nearest power of two (and at least to eight), and returns the integer EVT with that number of bits. More... | |
| EVT | getHalfSizedIntegerVT (LLVMContext &Context) const |
| getHalfSizedIntegerVT - Finds the smallest simple value type that is greater than or equal to half the width of this EVT. More... | |
| EVT | widenIntegerVectorElementType (LLVMContext &Context) const |
| Return a VT for an integer vector type with the size of the elements doubled. More... | |
| bool | isPow2VectorType () const |
| isPow2VectorType - Returns true if the given vector is a power of 2. More... | |
| EVT | getPow2VectorType (LLVMContext &Context) const |
| getPow2VectorType - Widens the length of the given vector EVT up to the nearest power of 2 and returns that type. More... | |
| std::string | getEVTString () const |
| getEVTString - This function returns value type as a string, e.g. More... | |
| Type * | getTypeForEVT (LLVMContext &Context) const |
| getTypeForEVT - This method returns an LLVM type corresponding to the specified EVT. More... | |
| intptr_t | getRawBits () const |
Static Public Member Functions | |
| static EVT | getFloatingPointVT (unsigned BitWidth) |
| getFloatingPointVT - Returns the EVT that represents a floating point type with the given number of bits. More... | |
| static EVT | getIntegerVT (LLVMContext &Context, unsigned BitWidth) |
| getIntegerVT - Returns the EVT that represents an integer with the given number of bits. More... | |
| static EVT | getVectorVT (LLVMContext &Context, EVT VT, unsigned NumElements) |
| getVectorVT - Returns the EVT that represents a vector NumElements in length, where each element is of type VT. More... | |
| static EVT | getEVT (Type *Ty, bool HandleUnknown=false) |
| getEVT - Return the value type corresponding to the specified type. More... | |
Capable of holding value types which are not native for any processor (such as the i12345 type), as well as the types a MVT can represent.
Definition at line 31 of file ValueTypes.h.
|
inline |
Definition at line 37 of file ValueTypes.h.
Referenced by getHalfSizedIntegerVT(), and getRoundIntegerType().
|
inline |
Definition at line 38 of file ValueTypes.h.
|
inline |
Definition at line 39 of file ValueTypes.h.
bitsEq - Return true if this has the same number of bits as VT.
Definition at line 194 of file ValueTypes.h.
References getSizeInBits().
bitsGE - Return true if this has no less bits than VT.
Definition at line 206 of file ValueTypes.h.
References getSizeInBits().
Referenced by combineOrCmpEqZeroToCtlzSrl(), getCopyToPartsVector(), and getMemcpyLoadsAndStores().
bitsGT - Return true if this has more bits than VT.
Definition at line 200 of file ValueTypes.h.
References getSizeInBits().
Referenced by AddCombineBUILD_VECTORToVPADDL(), llvm::R600TargetLowering::allowsMisalignedMemoryAccesses(), llvm::SITargetLowering::allowsMisalignedMemoryAccesses(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), FindOptimalMemOpLowering(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::SelectionDAG::getAnyExtOrTrunc(), llvm::SelectionDAG::getNode(), llvm::FastISel::getRegForGEPIndex(), llvm::SelectionDAG::getSExtOrTrunc(), llvm::SelectionDAG::getZExtOrTrunc(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::FastISel::selectOperator(), and llvm::TargetLowering::SimplifySetCC().
bitsLE - Return true if this has no more bits than VT.
Definition at line 218 of file ValueTypes.h.
References getSizeInBits().
Referenced by llvm::SelectionDAG::getBoolExtOrTrunc(), llvm::SelectionDAG::getNode(), llvm::SITargetLowering::getPreferredVectorAction(), llvm::SelectionDAG::getSplatBuildVector(), llvm::AMDGPUTargetLowering::performMulCombine(), and llvm::TargetLowering::SimplifySetCC().
bitsLT - Return true if this has less bits than VT.
Definition at line 212 of file ValueTypes.h.
References getSizeInBits().
Referenced by llvm::R600TargetLowering::allowsMisalignedMemoryAccesses(), llvm::SITargetLowering::allowsMisalignedMemoryAccesses(), combineShuffleOfScalars(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), getCopyFromParts(), llvm::SelectionDAG::getLoad(), getMemsetStores(), llvm::SelectionDAG::getNode(), llvm::FastISel::getRegForGEPIndex(), llvm::GetReturnInfo(), llvm::SelectionDAG::getTruncStore(), llvm::TargetLowering::getTypeForExtReturn(), llvm::TargetLowering::lowerCmpEqZeroToCtlzSrl(), OptimizeNoopCopyExpression(), performAssertZextCombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), llvm::FastISel::selectOperator(), and llvm::TargetLowering::SimplifySetCC().
|
inline |
Return the type converted to an equivalently sized integer or vector with integer element type.
Similar to changeVectorElementTypeToInteger, but also handles scalars.
Definition at line 95 of file ValueTypes.h.
References changeVectorElementTypeToInteger(), llvm::MVT::getIntegerVT(), getSizeInBits(), isSimple(), and isVector().
|
inline |
changeVectorElementTypeToInteger - Return a vector with the same number of elements as this vector, but with the element type converted to an integer type with the same bitwidth.
Definition at line 80 of file ValueTypes.h.
References assert(), llvm::MVT::getIntegerVT(), getSimpleVT(), llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementType(), getVectorNumElements(), llvm::MVT::getVectorVT(), isSimple(), and llvm::MVT::SimpleTy.
Referenced by changeTypeToInteger(), llvm::R600TargetLowering::getSetCCResultType(), llvm::SparcTargetLowering::getSetCCResultType(), llvm::MipsTargetLowering::getSetCCResultType(), llvm::ARMTargetLowering::getSetCCResultType(), llvm::AArch64TargetLowering::getSetCCResultType(), llvm::SystemZTargetLowering::getSetCCResultType(), llvm::PPCTargetLowering::getSetCCResultType(), llvm::X86TargetLowering::getSetCCResultType(), lowerVECTOR_SHUFFLE_VSHF(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), LowerVSETCC(), performSelectCombine(), and performVSelectCombine().
getEVT - Return the value type corresponding to the specified type.
This returns all pointers as iPTR. If HandleUnknown is true, unknown types are returned as Other, otherwise they are invalid.
This returns all pointers as MVT::iPTR. If HandleUnknown is true, unknown types are returned as Other, otherwise they are invalid.
Definition at line 309 of file ValueTypes.cpp.
References getBitWidth(), llvm::Type::getContext(), llvm::SequentialType::getElementType(), getIntegerVT(), llvm::SequentialType::getNumElements(), llvm::Type::getTypeID(), getVectorVT(), llvm::MVT::getVT(), llvm::Type::IntegerTyID, and llvm::Type::VectorTyID.
Referenced by llvm::ARMTargetLowering::allowTruncateForTailCall(), llvm::X86TargetLowering::allowTruncateForTailCall(), getMangledTypeStr(), llvm::FastISel::getRegForGEPIndex(), llvm::TargetLoweringBase::getValueType(), llvm::TargetLoweringBase::isExtFree(), isNoopBitcast(), llvm::HexagonTargetLowering::isTruncateFree(), and llvm::FastISel::selectBinaryOp().
| std::string EVT::getEVTString | ( | ) | const |
getEVTString - This function returns value type as a string, e.g.
getEVTString - This function returns value type as a string, e.g. "i32".
"i32".
Definition at line 120 of file ValueTypes.cpp.
References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, getEVTString(), getSizeInBits(), getVectorElementType(), getVectorNumElements(), llvm::MVT::Glue, llvm::MVT::i1, llvm::MVT::i128, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, isInteger(), isVector(), llvm::MVT::isVoid, llvm_unreachable, llvm::MVT::Metadata, llvm::MVT::Other, llvm::MVT::ppcf128, llvm::MVT::SimpleTy, llvm::MVT::Untyped, llvm::utostr(), llvm::MVT::v1024i1, llvm::MVT::v128i16, llvm::MVT::v128i8, llvm::MVT::v16f32, llvm::MVT::v16i1, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i64, llvm::MVT::v16i8, llvm::MVT::v1f32, llvm::MVT::v1f64, llvm::MVT::v1i128, llvm::MVT::v1i16, llvm::MVT::v1i32, llvm::MVT::v1i64, llvm::MVT::v1i8, llvm::MVT::v256i8, llvm::MVT::v2f16, llvm::MVT::v2f32, llvm::MVT::v2f64, llvm::MVT::v2i1, llvm::MVT::v2i16, llvm::MVT::v2i32, llvm::MVT::v2i64, llvm::MVT::v2i8, llvm::MVT::v32i1, llvm::MVT::v32i16, llvm::MVT::v32i32, llvm::MVT::v32i64, llvm::MVT::v32i8, llvm::MVT::v4f16, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i1, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v4i8, llvm::MVT::v512i1, llvm::MVT::v64i1, llvm::MVT::v64i16, llvm::MVT::v64i32, llvm::MVT::v64i8, llvm::MVT::v8f16, llvm::MVT::v8f32, llvm::MVT::v8f64, llvm::MVT::v8i1, llvm::MVT::v8i16, llvm::MVT::v8i32, llvm::MVT::v8i64, llvm::MVT::v8i8, and llvm::MVT::x86mmx.
Referenced by llvm::CCState::AnalyzeCallOperands(), llvm::CCState::AnalyzeCallResult(), llvm::CCState::AnalyzeFormalArguments(), llvm::CCState::AnalyzeReturn(), getEVTString(), getMangledTypeStr(), llvm::CCState::getRemainingRegParmsForType(), and llvm::SDNode::print_types().
getFloatingPointVT - Returns the EVT that represents a floating point type with the given number of bits.
There are two floating point types with 128 bits - this returns f128 rather than ppcf128.
Definition at line 55 of file ValueTypes.h.
References llvm::MVT::getFloatingPointVT().
Referenced by combineConcatVectorOfScalars(), lowerFP_TO_SINT_STORE(), and LowerVECTOR_SHUFFLE().
|
inline |
getHalfSizedIntegerVT - Finds the smallest simple value type that is greater than or equal to half the width of this EVT.
If no simple value type can be found, an extended integer value type of half the size (rounded up) is returned.
Definition at line 293 of file ValueTypes.h.
References assert(), EVT(), llvm::MVT::FIRST_INTEGER_VALUETYPE, getIntegerVT(), getSizeInBits(), isInteger(), isVector(), and llvm::MVT::LAST_INTEGER_VALUETYPE.
Referenced by llvm::TargetLowering::expandUnalignedStore(), llvm::AMDGPUTargetLowering::LowerSDIVREM(), and llvm::AMDGPUTargetLowering::LowerUDIVREM64().
|
inlinestatic |
getIntegerVT - Returns the EVT that represents an integer with the given number of bits.
Definition at line 61 of file ValueTypes.h.
References llvm::MVT::getIntegerVT(), and llvm::MVT::SimpleTy.
Referenced by llvm::BasicTTIImplBase< AMDGPUTTIImpl >::allowsMisalignedMemoryAccesses(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), combineConcatVectorOfScalars(), combineSIntToFP(), llvm::TargetLowering::expandFP_TO_SINT(), llvm::TargetLowering::expandUnalignedLoad(), llvm::TargetLowering::expandUnalignedStore(), getCopyFromParts(), getCopyToParts(), llvm::AMDGPUTargetLowering::getEquivalentMemType(), getEVT(), getHalfSizedIntegerVT(), getMemsetValue(), getRoundIntegerType(), llvm::TargetLowering::IncrementMemoryAddress(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), LowerExtendedLoad(), llvm::SelectionDAGBuilder::lowerRangeToAssertZExt(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), llvm::FastISel::selectFNeg(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), llvm::TargetLowering::SimplifySetCC(), truncateVectorCompareWithPACKSS(), and widenIntegerVectorElementType().
|
inline |
getPow2VectorType - Widens the length of the given vector EVT up to the nearest power of 2 and returns that type.
Definition at line 321 of file ValueTypes.h.
References getVectorElementType(), getVectorNumElements(), getVectorVT(), isPow2VectorType(), and llvm::Log2_32_Ceil().
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute().
|
inline |
Definition at line 346 of file ValueTypes.h.
References isSimple(), and llvm::MVT::SimpleTy.
Referenced by AddNodeIDCustom(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getIndexedStore(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMaskedGather(), llvm::SelectionDAG::getMaskedLoad(), llvm::SelectionDAG::getMaskedScatter(), llvm::SelectionDAG::getTruncStore(), and llvm::SelectionDAG::getVTList().
|
inline |
getRoundIntegerType - Rounds the bit-width of the given integer EVT up to the nearest power of two (and at least to eight), and returns the integer EVT with that number of bits.
Definition at line 281 of file ValueTypes.h.
References assert(), EVT(), getIntegerVT(), getSizeInBits(), llvm::MVT::i8, isInteger(), isVector(), and llvm::Log2_32_Ceil().
|
inline |
Definition at line 262 of file ValueTypes.h.
References getScalarType(), and getSizeInBits().
Referenced by llvm::TargetLowering::BuildSDIV(), canReduceVMulWidth(), canTreatAsByteVector(), combineAnd(), CombineBaseUpdate(), combineBVOfConsecutiveLoads(), combineLogicBlendIntoPBLENDV(), combineMaskedLoad(), combineMaskedStore(), combinePCMPAnd1(), combineSIntToFP(), combineStore(), combineToExtendVectorInReg(), combineVectorShift(), combineVSelectWithAllOnesOrZeros(), llvm::SelectionDAG::computeKnownBits(), llvm::AArch64TargetLowering::computeKnownBitsForTargetNode(), llvm::ARMTargetLowering::computeKnownBitsForTargetNode(), llvm::X86TargetLowering::computeKnownBitsForTargetNode(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::X86TargetLowering::ComputeNumSignBitsForTargetNode(), llvm::TargetLowering::expandMUL_LOHI(), FoldIntToFPToInt(), llvm::TargetLowering::getConstTrueVal(), getMemsetValue(), llvm::SelectionDAG::getNode(), llvm::SystemZTargetLowering::getPreferredVectorAction(), llvm::PPCTargetLowering::getPreferredVectorAction(), llvm::TargetLowering::IncrementMemoryAddress(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), llvm::BuildVectorSDNode::isConstantSplat(), isExtendedBUILD_VECTOR(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), llvm::AMDGPUTargetLowering::isLoadBitCastBeneficial(), isREVMask(), llvm::ARMTargetLowering::isShuffleMaskLegal(), isVREVMask(), isVShiftLImm(), isVShiftRImm(), isVTRN_v_undef_Mask(), isVTRNMask(), isVUZP_v_undef_Mask(), isVUZPMask(), isVZIP_v_undef_Mask(), isVZIPMask(), LowerExtendedLoad(), llvm::R600TargetLowering::LowerFormalArguments(), lowerMSABitClearImm(), llvm::HexagonTargetLowering::LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), performConcatVectorsCombine(), performDSPShiftCombine(), performExtendCombine(), performPostLD1Combine(), PerformSTORECombine(), PerformVDUPLANECombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), llvm::TargetLowering::SimplifyDemandedBits(), truncateVectorCompareWithPACKSS(), tryCombineToBSL(), tryLowerToSLI(), tryToFoldExtendOfConstant(), and WidenMaskArithmetic().
|
inline |
getScalarType - If this is a vector type, return the element type, otherwise return this.
Definition at line 233 of file ValueTypes.h.
References getVectorElementType(), and isVector().
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), combineFMA(), combineFneg(), combineLoad(), combineMaskedLoad(), combineMaskedStore(), combineSelect(), combineSetCC(), combineShuffleOfScalars(), combineSIntToFP(), combineStore(), combineToExtendVectorInReg(), combineTruncatedArithmetic(), combineUIntToFP(), CombineVMOVDRRCandidateWithVecOp(), llvm::SelectionDAG::EVTToAPFloatSemantics(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getConstantFP(), getCopyFromPartsVector(), getEstimateRefinementSteps(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getLogicalNOT(), getMemsetValue(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getNOT(), llvm::SITargetLowering::getPreferredVectorAction(), llvm::NVPTXTargetLowering::getPreferredVectorAction(), getReciprocalOpName(), getScalarSizeInBits(), llvm::SDValue::getScalarValueSizeInBits(), llvm::SelectionDAG::getTruncStore(), llvm::isConstOrConstSplat(), llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::X86TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AMDGPUTargetLowering::isFPImmLegal(), llvm::AMDGPUTargetLowering::isLoadBitCastBeneficial(), LowerExtended1BitVectorLoad(), LowerExtendedLoad(), lowerMSASplatImm(), llvm::AMDGPUTargetLowering::LowerSIGN_EXTEND_INREG(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::AMDGPUTargetLowering::performMulCombine(), PerformSTORECombine(), llvm::TargetLowering::scalarizeVectorLoad(), llvm::TargetLowering::scalarizeVectorStore(), llvm::AMDGPUTargetLowering::shouldCombineMemoryType(), llvm::AMDGPUTargetLowering::ShouldShrinkFPConstant(), llvm::TargetLowering::SimplifyDemandedBits(), and tryToFoldExtendOfConstant().
|
inline |
getSimpleVT - Return the SimpleValueType held in the specified simple EVT.
Definition at line 226 of file ValueTypes.h.
References assert(), and isSimple().
Referenced by AddCombineBUILD_VECTORToVPADDL(), llvm::MipsSETargetLowering::allowsMisalignedMemoryAccesses(), llvm::HexagonTargetLowering::allowsMisalignedMemoryAccesses(), llvm::ARMTargetLowering::allowsMisalignedMemoryAccesses(), llvm::PPCTargetLowering::allowsMisalignedMemoryAccesses(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), llvm::AVRDAGToDAGISel::select< ISD::LOAD >(), changeVectorElementTypeToInteger(), combineVectorShift(), combineVectorSignBitsTruncation(), llvm::AArch64TargetLowering::computeKnownBitsForTargetNode(), createSplat(), EmitKTEST(), llvm::SelectionDAG::EVTToAPFloatSemantics(), llvm::PPCTargetLowering::expandVSXLoadForLE(), llvm::PPCTargetLowering::expandVSXStoreForLE(), FindOptimalMemOpLowering(), llvm::SelectionDAG::FoldSetCC(), foldVectorXorShiftIntoCmp(), llvm::X86TTIImpl::getCastInstrCost(), llvm::AArch64TTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCmpSelInstrCost(), llvm::AArch64TTIImpl::getCmpSelInstrCost(), getExtensionTo64Bits(), llvm::TargetLoweringBase::getLoadExtAction(), llvm::SelectionDAG::getNode(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getOperationAction(), llvm::AArch64TargetLowering::getPreferredVectorAction(), llvm::X86TargetLowering::getPreferredVectorAction(), llvm::FastISel::getRegForGEPIndex(), llvm::FastISel::getRegForValue(), llvm::TargetLoweringBase::getRegisterType(), llvm::X86TargetLowering::getSetCCResultType(), llvm::SDValue::getSimpleValueType(), llvm::SDNode::getSimpleValueType(), llvm::TargetLoweringBase::getSimpleValueType(), llvm::TargetLoweringBase::getTruncStoreAction(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::SelectionDAG::getValueType(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), llvm::ISD::InputArg::InputArg(), insert128BitVector(), is32Bit(), isDivRemLibcallAvailable(), llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::X86TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFPImmLegal(), llvm::TargetLoweringBase::isIndexedLoadLegal(), llvm::TargetLoweringBase::isIndexedStoreLegal(), isLegalAddressImmediate(), llvm::ARMTargetLowering::isLegalAddressingMode(), isLegalT1AddressImmediate(), isLegalT2AddressImmediate(), llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(), llvm::TargetLoweringBase::isLoadBitCastBeneficial(), llvm::X86TargetLowering::isShuffleMaskLegal(), isSupportedType(), llvm::HexagonTargetLowering::isTruncateFree(), llvm::TargetLoweringBase::isTypeLegal(), isValidIndexedLoad(), llvm::XCoreTargetLowering::isZExtFree(), llvm::ARMTargetLowering::isZExtFree(), llvm::X86TargetLowering::isZExtFree(), llvm::AVRTargetLowering::LowerAsmOperandForConstraint(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), LowerExtended1BitVectorLoad(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), llvm::SystemZTargetLowering::LowerFormalArguments(), LowerMSCATTER(), lowerRegToMasks(), llvm::HexagonTargetLowering::LowerVECTOR_SHIFT(), NarrowVector(), llvm::ISD::OutputArg::OutputArg(), performBitcastCombine(), performConcatVectorsCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), performShiftToAllZeros(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::FastISel::selectBinaryOp(), llvm::FastISel::selectBitCast(), llvm::FastISel::selectCast(), llvm::FastISel::selectExtractValue(), llvm::FastISel::selectFNeg(), llvm::AVRDAGToDAGISel::selectIndexedLoad(), llvm::X86InstrInfo::shouldScheduleLoadsNear(), llvm::TargetLowering::SimplifySetCC(), llvm::SelectionDAGBuilder::visitBitTestHeader(), WidenVector(), X86ChooseCmpImmediateOpcode(), X86ChooseCmpOpcode(), and XFormVExtractWithShuffleIntoLoad().
|
inline |
getSizeInBits - Return the size of the specified value type in bits.
Definition at line 256 of file ValueTypes.h.
References llvm::MVT::getSizeInBits(), and isSimple().
Referenced by addRequiredExtensionForVectorMULL(), AddRequiredExtensionForVMULL(), llvm::StatepointLoweringState::allocateStackSlot(), llvm::SITargetLowering::allowsMisalignedMemoryAccesses(), llvm::X86TargetLowering::allowsMisalignedMemoryAccesses(), llvm::SelectionDAG::areNonVolatileConsecutiveLoads(), bitsEq(), bitsGE(), bitsGT(), bitsLE(), bitsLT(), llvm::X86TargetLowering::BuildFILD(), BuildVectorFromScalar(), changeTypeToInteger(), clampDynamicVectorIndex(), combineAnd(), CombineBaseUpdate(), combineBasicSADPattern(), combineConcatVectorOfExtracts(), combineConcatVectorOfScalars(), combineExtractVectorElt(), combineIntegerAbs(), combineLoopSADPattern(), combineMaskedLoad(), combineMaskedStore(), combineOr(), combinePCMPAnd1(), combineSext(), combineShiftRightAlgebraic(), combineSignExtendInReg(), combineStore(), combineToExtendVectorInReg(), combineVectorCompareAndMaskUnaryOp(), combineVectorTruncation(), combineVectorTruncationWithPACKUS(), llvm::SelectionDAG::computeKnownBits(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), createPSADBW(), detectAVGPattern(), EltsFromConsecutiveLoads(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), EmitVectorComparison(), llvm::TargetLowering::expandFP_TO_SINT(), llvm::TargetLowering::expandMUL_LOHI(), llvm::TargetLowering::expandUnalignedLoad(), llvm::TargetLowering::expandUnalignedStore(), extractSubVector(), FindMemType(), FindOptimalMemOpLowering(), foldBitcastedFPLogic(), foldVectorXorShiftIntoCmp(), foldXorTruncShiftIntoCmp(), genConstMult(), GeneratePerfectShuffle(), GenerateTBL(), llvm::SelectionDAG::getAnyExtendVectorInReg(), llvm::SelectionDAG::getConstant(), getCopyFromParts(), getCopyFromPartsVector(), getCopyToParts(), getCopyToPartsVector(), getEVTString(), getExtensionTo64Bits(), getExtFactor(), getHalfSizedIntegerVT(), getLeftShift(), getLoadStackGuard(), llvm::SelectionDAG::getLogicalNOT(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), getMemsetStringVal(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getNOT(), llvm::TargetLoweringBase::getNumRegisters(), getOnesVector(), llvm::SITargetLowering::getRegisterByName(), getRoundIntegerType(), getScalarSizeInBits(), llvm::SDValue::getScalarValueSizeInBits(), llvm::SelectionDAG::getSignExtendVectorInReg(), getStoreSize(), getTargetConstantBitsFromNode(), getTestBitOperand(), llvm::SDValue::getValueSizeInBits(), llvm::SDNode::getValueSizeInBits(), llvm::TargetLowering::getVectorElementPointer(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), llvm::SelectionDAG::getZeroExtendInReg(), llvm::SelectionDAG::getZeroExtendVectorInReg(), llvm::AArch64TargetLowering::hasPairedLoad(), llvm::TargetLowering::IncrementMemoryAddress(), insertSubVector(), isBitfieldDstMask(), isBitfieldExtractOpFromSExtInReg(), isBitfieldExtractOpFromShr(), isBitfieldPositioningOp(), isByteSized(), isConcatMask(), isConditionalZeroOrAllOnes(), isConsecutiveLSLoc(), llvm::BuildVectorSDNode::isConstantSplat(), llvm::ISD::isConstantSplatVector(), isI24(), llvm::AMDGPUTargetLowering::isLoadBitCastBeneficial(), IsMulWideOperandDemotable(), llvm::AMDGPUTargetLowering::isNarrowingProfitable(), isRound(), llvm::AArch64TargetLowering::isShuffleMaskLegal(), llvm::MSP430TargetLowering::isTruncateFree(), llvm::AMDGPUTargetLowering::isTruncateFree(), llvm::AArch64TargetLowering::isTruncateFree(), llvm::SystemZTargetLowering::isTruncateFree(), llvm::PPCTargetLowering::isTruncateFree(), llvm::X86TargetLowering::isTruncateFree(), isU24(), llvm::AArch64TargetLowering::isZExtFree(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), llvm::NVPTXTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), llvm::TargetLowering::lowerCmpEqZeroToCtlzSrl(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), LowerCTTZ(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), LowerExtendedLoad(), llvm::HexagonTargetLowering::LowerEXTRACT_SUBVECTOR_HVX(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerINSERT_VECTOR(), lowerMSASplatImm(), llvm::LanaiTargetLowering::LowerSHL_PARTS(), LowerTruncatingStore(), llvm::AMDGPUTargetLowering::LowerUDIVREM64(), LowerVAARG(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), lowerX86CmpEqZeroToCtlzSrl(), llvm::ARMTargetLowering::LowerXConstraint(), NormalizeBuildVector(), performAcrossLaneAddReductionCombine(), performAcrossLaneMinMaxReductionCombine(), performANDCombine(), PerformARMBUILD_VECTORCombine(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), performExtendCombine(), performIntegerAbsCombine(), performIntToFpCombine(), llvm::AMDGPUTargetLowering::performMulCombine(), llvm::AMDGPUTargetLowering::performMulhuCombine(), performNEONPostLDSTCombine(), performORCombine(), performSelectCombine(), performSRACombine(), PerformSTORECombine(), performVectorCompareAndMaskUnaryOpCombine(), performVSelectCombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), reduceVMULWidth(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::X86TargetLowering::ReplaceNodeResults(), replaceZeroVectorStore(), resolveBuildVector(), llvm::TargetLowering::scalarizeVectorLoad(), llvm::TargetLowering::scalarizeVectorStore(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FastISel::selectFNeg(), llvm::HexagonTargetLowering::shouldExpandBuildVectorWithShuffles(), llvm::TargetLowering::SimplifyDemandedBits(), simplifyI24(), llvm::TargetLowering::SimplifySetCC(), splitStores(), splitStoreSplat(), truncateVectorCompareWithPACKSS(), tryBitfieldInsertOpFromOr(), tryBitfieldInsertOpFromOrAndImm(), tryCombineToEXTR(), TryMULWIDECombine(), tryToFoldExtendOfConstant(), UnpackFromArgumentSlot(), VerifySDNode(), llvm::SelectionDAGBuilder::visitBitTestHeader(), and widenIntegerVectorElementType().
|
inline |
getStoreSize - Return the number of bytes overwritten by a store of the specified value type.
Definition at line 268 of file ValueTypes.h.
References getSizeInBits().
Referenced by llvm::SITargetLowering::allowsMisalignedMemoryAccesses(), llvm::AArch64TargetLowering::allowsMisalignedMemoryAccesses(), CalculateStackSlotAlignment(), CalculateStackSlotSize(), ComputePTXValueVTs(), llvm::SelectionDAG::CreateStackTemporary(), findConsecutiveLoad(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getAtomicCmpSwap(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMemIntrinsicNode(), getParamsForOneTrueMaskedElt(), llvm::SelectionDAG::getStore(), getStoreSizeInBits(), llvm::PPCTargetLowering::getTgtMemIntrinsic(), llvm::SelectionDAG::getTruncStore(), getVPermMask(), llvm::SITargetLowering::LowerFormalArguments(), lowerVectorShuffleAsBroadcast(), llvm::MemSDNode::MemSDNode(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::AMDGPUTargetLowering::performLoadCombine(), llvm::AMDGPUTargetLowering::performStoreCombine(), llvm::AMDGPUTargetLowering::shouldCombineMemoryType(), ShrinkLoadReplaceStoreWithStore(), llvm::AMDGPUTargetLowering::SplitVectorLoad(), llvm::AMDGPUTargetLowering::SplitVectorStore(), and tryBuildVectorByteMask().
|
inline |
getStoreSizeInBits - Return the number of bits overwritten by a store of the specified value type.
Definition at line 274 of file ValueTypes.h.
References getStoreSize().
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), EltsFromConsecutiveLoads(), llvm::AMDGPUTargetLowering::getEquivalentMemType(), llvm::NVPTXTargetLowering::LowerCall(), and llvm::AMDGPUTargetLowering::shouldReduceLoadWidth().
| Type * EVT::getTypeForEVT | ( | LLVMContext & | Context | ) | const |
getTypeForEVT - This method returns an LLVM type corresponding to the specified EVT.
For integer types, this returns an unsigned type. Note that this will abort for types that cannot be represented.
Definition at line 204 of file ValueTypes.cpp.
References assert(), llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, llvm::IntegerType::get(), llvm::VectorType::get(), llvm::Type::getDoubleTy(), llvm::Type::getFloatTy(), llvm::Type::getFP128Ty(), llvm::Type::getHalfTy(), llvm::Type::getInt128Ty(), llvm::Type::getInt16Ty(), llvm::Type::getInt1Ty(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::Type::getInt8Ty(), llvm::Type::getMetadataTy(), llvm::Type::getPPC_FP128Ty(), llvm::Type::getVoidTy(), llvm::Type::getX86_FP80Ty(), llvm::Type::getX86_MMXTy(), llvm::MVT::i1, llvm::MVT::i128, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, isExtended(), llvm::MVT::isVoid, llvm::MVT::Metadata, llvm::MVT::ppcf128, llvm::MVT::SimpleTy, llvm::MVT::v1024i1, llvm::MVT::v128i16, llvm::MVT::v128i8, llvm::MVT::v16f32, llvm::MVT::v16i1, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i64, llvm::MVT::v16i8, llvm::MVT::v1f32, llvm::MVT::v1f64, llvm::MVT::v1i128, llvm::MVT::v1i16, llvm::MVT::v1i32, llvm::MVT::v1i64, llvm::MVT::v1i8, llvm::MVT::v256i8, llvm::MVT::v2f16, llvm::MVT::v2f32, llvm::MVT::v2f64, llvm::MVT::v2i1, llvm::MVT::v2i16, llvm::MVT::v2i32, llvm::MVT::v2i64, llvm::MVT::v2i8, llvm::MVT::v32i1, llvm::MVT::v32i16, llvm::MVT::v32i32, llvm::MVT::v32i64, llvm::MVT::v32i8, llvm::MVT::v4f16, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i1, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v4i8, llvm::MVT::v512i1, llvm::MVT::v64i1, llvm::MVT::v64i16, llvm::MVT::v64i32, llvm::MVT::v64i8, llvm::MVT::v8f16, llvm::MVT::v8f32, llvm::MVT::v8f64, llvm::MVT::v8i1, llvm::MVT::v8i16, llvm::MVT::v8i32, llvm::MVT::v8i64, llvm::MVT::v8i8, and llvm::MVT::x86mmx.
Referenced by llvm::TargetLoweringBase::allowsMemoryAccess(), canFoldInAddressingMode(), llvm::SelectionDAG::CreateStackTemporary(), llvm::SelectionDAG::expandVAArg(), getDivRemArgList(), llvm::SelectionDAG::getEVTAlignment(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), getMemsetStringVal(), llvm::TargetLoweringBase::getValueType(), llvm::NVPTXTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), llvm::SparcTargetLowering::LowerF128_LibCallArg(), llvm::SparcTargetLowering::LowerF128Op(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), LowerFPOWI(), LowerFSINCOS(), llvm::NVPTXTargetLowering::LowerReturn(), llvm::TargetLowering::makeLibCall(), llvm::PPCTargetLowering::PerformDAGCombine(), ReplaceLoadVector(), and XFormVExtractWithShuffleIntoLoad().
|
inline |
getVectorElementType - Given a vector type, return the type of each element.
Definition at line 239 of file ValueTypes.h.
References assert(), llvm::MVT::getVectorElementType(), isSimple(), and isVector().
Referenced by AddCombineBUILD_VECTORToVPADDL(), AddCombineVUZPToVPADDL(), canReduceVMulWidth(), CombineBaseUpdate(), combineBasicSADPattern(), combineExtractVectorElt(), combineLoopSADPattern(), combineMaskedLoad(), combineMaskedStore(), combineSelect(), combineShuffle(), combineShuffleOfConcatUndef(), combineVectorTruncation(), combineVectorTruncationWithPACKUS(), combineVSelectWithAllOnesOrZeros(), ComputePTXValueVTs(), detectAVGPattern(), detectZextAbsDiff(), EmitVectorComparison(), extractSubVector(), llvm::SelectionDAG::ExtractVectorElements(), FindMemType(), foldVectorXorShiftIntoCmp(), GeneratePerfectShuffle(), GenerateTBL(), getCopyFromPartsVector(), getCopyToPartsVector(), getEVTString(), getExtFactor(), getMemsetStringVal(), llvm::SelectionDAG::getNode(), getOneTrueElt(), getParamsForOneTrueMaskedElt(), getPow2VectorType(), llvm::X86TargetLowering::getPreferredVectorAction(), getScalarType(), llvm::X86TargetLowering::getSetCCResultType(), getShuffleScalarElt(), llvm::SelectionDAG::getSplatBuildVector(), llvm::SelectionDAG::GetSplitDestVTs(), llvm::TargetLowering::getVectorElementPointer(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVPermMask(), insert128BitVector(), insertSubVector(), llvm::ISD::isConstantSplatVector(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), llvm::NVPTXTargetLowering::LowerCall(), LowerCTPOP(), LowerCTTZ(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerINSERT_VECTOR(), lowerMSACopyIntr(), llvm::NVPTXTargetLowering::LowerReturn(), LowerTruncatingStore(), lowerVECTOR_SHUFFLE_VSHF(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), lowerVectorShuffleAsTruncBroadcast(), LowerVSETCC(), NarrowVector(), NormalizeBuildVector(), performAcrossLaneAddReductionCombine(), performAcrossLaneMinMaxReductionCombine(), PerformARMBUILD_VECTORCombine(), PerformBUILD_VECTORCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), performExtendCombine(), PerformInsertEltCombine(), performPostLD1Combine(), PerformVDUPCombine(), performVSelectCombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), reduceMaskedLoadToScalarLoad(), reduceMaskedStoreToScalarStore(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::X86TargetLowering::ReplaceNodeResults(), replaceZeroVectorStore(), llvm::HexagonTargetLowering::shouldExpandBuildVectorWithShuffles(), splitStores(), tryBuildVectorByteMask(), tryFormConcatFromShuffle(), llvm::SelectionDAG::UnrollVectorOp(), VerifySDNode(), widenIntegerVectorElementType(), WidenMaskArithmetic(), and WidenVector().
|
inline |
getVectorNumElements - Given a vector type, return the number of elements it contains.
Definition at line 248 of file ValueTypes.h.
References assert(), llvm::MVT::getVectorNumElements(), isSimple(), and isVector().
Referenced by AddCombineBUILD_VECTORToVPADDL(), AddCombineVUZPToVPADDL(), AddNodeIDCustom(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), buildScalarToVector(), changeVectorElementTypeToInteger(), clampDynamicVectorIndex(), CombineBaseUpdate(), combineBasicSADPattern(), combineConcatVectorOfExtracts(), combineMaskedLoad(), combineMaskedLoadConstantMask(), combineMaskedStore(), combineShuffle(), combineShuffleOfConcatUndef(), combineShuffleOfScalars(), combineSIntToFP(), combineUIntToFP(), combineVectorTruncation(), CombineVMOVDRRCandidateWithVecOp(), llvm::SelectionDAG::computeKnownBits(), llvm::X86TargetLowering::computeKnownBitsForTargetNode(), ComputePTXValueVTs(), ConvertSelectToConcatVector(), detectAVGPattern(), ExpandBITCAST(), extractSubVector(), llvm::SelectionDAG::ExtractVectorElements(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::SelectionDAG::getAnyExtendVectorInReg(), getBuildVectorSplat(), llvm::SelectionDAG::getConstant(), getCopyFromPartsVector(), getCopyToPartsVector(), getEVTString(), llvm::SelectionDAG::getLoad(), llvm::ShuffleVectorSDNode::getMask(), llvm::SelectionDAG::getMaskedGather(), llvm::SelectionDAG::getMaskedScatter(), getMemsetStringVal(), llvm::SelectionDAG::getNode(), getOneTrueElt(), getPow2VectorType(), llvm::SITargetLowering::getPreferredVectorAction(), llvm::TargetLoweringBase::getPreferredVectorAction(), llvm::NVPTXTargetLowering::getPreferredVectorAction(), llvm::X86TargetLowering::getPreferredVectorAction(), llvm::SITargetLowering::getSetCCResultType(), llvm::HexagonTargetLowering::getSetCCResultType(), llvm::NVPTXTargetLowering::getSetCCResultType(), llvm::PPCTargetLowering::getSetCCResultType(), getShuffleScalarElt(), llvm::SelectionDAG::getSignExtendVectorInReg(), llvm::SelectionDAG::getSplatBuildVector(), llvm::ShuffleVectorSDNode::getSplatIndex(), llvm::SelectionDAG::GetSplitDestVTs(), llvm::SelectionDAG::getTruncStore(), llvm::SelectionDAG::getVectorShuffle(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVPermMask(), llvm::SelectionDAG::getZeroExtendVectorInReg(), hasNormalLoadOperand(), llvm::TargetLowering::IncrementMemoryAddress(), isAllConstantBuildVector(), isConcatMask(), isEXTMask(), llvm::ARMTargetLowering::isExtractSubvectorCheap(), llvm::X86TargetLowering::isExtractSubvectorCheap(), isHorizontalBinOp(), isNonZeroElementsInOrder(), isPow2VectorType(), isReverseMask(), isREVMask(), llvm::AArch64TargetLowering::isShuffleMaskLegal(), llvm::ARMTargetLowering::isShuffleMaskLegal(), isSingletonEXTMask(), isSingletonVEXTMask(), llvm::ShuffleVectorSDNode::isSplatMask(), isTRN_v_undef_Mask(), isTRNMask(), isUZP_v_undef_Mask(), isUZPMask(), isVEXTMask(), isVREVMask(), isVTRN_v_undef_Mask(), isVTRNMask(), isVUZP_v_undef_Mask(), isVUZPMask(), isVZIP_v_undef_Mask(), isVZIPMask(), isZIP_v_undef_Mask(), isZIPMask(), llvm::NVPTXTargetLowering::LowerCall(), LowerCONCAT_VECTORSvXi1(), llvm::AMDGPUTargetLowering::LowerEXTRACT_SUBVECTOR(), llvm::HexagonTargetLowering::LowerEXTRACT_SUBVECTOR_HVX(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerINSERT_VECTOR(), LowerINTRINSIC_W_CHAIN(), lowerMSASplatZExt(), llvm::SITargetLowering::LowerReturn(), llvm::NVPTXTargetLowering::LowerReturn(), LowerVECTOR_SHUFFLE(), lowerVECTOR_SHUFFLE_VSHF(), LowerVectorAllZeroTest(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), LowerVSETCC(), matchBinOpReduction(), NarrowVector(), partitionShuffleOfConcats(), PerformARMBUILD_VECTORCombine(), performBitcastCombine(), PerformBUILD_VECTORCombine(), performConcatVectorsCombine(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), performExtendCombine(), performFDivCombine(), performFpToIntCombine(), PerformInsertEltCombine(), performNEONPostLDSTCombine(), PerformSTORECombine(), PerformVCVTCombine(), PerformVDIVCombine(), PerformVECTOR_SHUFFLECombine(), performVSelectCombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), reduceVMULWidth(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), replaceSplatVectorStore(), replaceZeroVectorStore(), llvm::TargetLowering::scalarizeVectorLoad(), llvm::TargetLowering::scalarizeVectorStore(), simplifyShuffleOperandRecursively(), simplifyShuffleOperands(), splitStores(), llvm::SelectionDAG::SplitVector(), llvm::AMDGPUTargetLowering::SplitVectorStore(), truncateVectorCompareWithPACKSS(), tryBuildVectorShuffle(), tryCombineToBSL(), tryFormConcatFromShuffle(), tryMatchAcrossLaneShuffleForReduction(), tryToFoldExtendOfConstant(), VerifySDNode(), widenIntegerVectorElementType(), WidenVector(), and XFormVExtractWithShuffleIntoLoad().
|
inlinestatic |
getVectorVT - Returns the EVT that represents a vector NumElements in length, where each element is of type VT.
Definition at line 70 of file ValueTypes.h.
References llvm::MVT::getVectorVT(), and llvm::MVT::SimpleTy.
Referenced by AddCombineVUZPToVPADDL(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), BuildVectorFromScalar(), combineConcatVectorOfScalars(), combineLoad(), combineMaskedLoad(), combineMaskedStore(), combineSIntToFP(), combineStore(), combineToExtendVectorInReg(), combineUIntToFP(), combineVectorTruncation(), CombineVMOVDRRCandidateWithVecOp(), extractSubVector(), llvm::SelectionDAG::getConstant(), llvm::AMDGPUTargetLowering::getEquivalentMemType(), getEVT(), getMemsetStringVal(), getPow2VectorType(), llvm::SITargetLowering::getSetCCResultType(), llvm::HexagonTargetLowering::getSetCCResultType(), llvm::NVPTXTargetLowering::getSetCCResultType(), llvm::PPCTargetLowering::getSetCCResultType(), llvm::SelectionDAG::GetSplitDestVTs(), llvm::AArch64TargetLowering::getTgtMemIntrinsic(), llvm::ARMTargetLowering::getTgtMemIntrinsic(), getUniformBase(), llvm::TargetLoweringBase::getValueType(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), LowerAsSplatVectorLoad(), LowerBITCAST(), llvm::NVPTXTargetLowering::LowerCall(), LowerExtendedLoad(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerReturn(), LowerVECTOR_SHUFFLE(), LowerVSETCC(), PerformARMBUILD_VECTORCombine(), PerformBUILD_VECTORCombine(), performExtendCombine(), PerformInsertEltCombine(), performSelectCombine(), PerformSTORECombine(), llvm::AArch64TargetLowering::ReconstructShuffle(), reduceVMULWidth(), llvm::X86TargetLowering::ReplaceNodeResults(), splitStores(), truncateVectorCompareWithPACKSS(), tryFormConcatFromShuffle(), llvm::SelectionDAG::UnrollVectorOp(), and widenIntegerVectorElementType().
|
inline |
is1024BitVector - Return true if this is a 1024-bit vector type.
Definition at line 168 of file ValueTypes.h.
References llvm::MVT::is1024BitVector(), and isSimple().
|
inline |
is128BitVector - Return true if this is a 128-bit vector type.
Definition at line 153 of file ValueTypes.h.
References llvm::MVT::is128BitVector(), and isSimple().
Referenced by AddCombineVUZPToVPADDL(), addRequiredExtensionForVectorMULL(), AddRequiredExtensionForVMULL(), combineSelect(), combineShuffleOfConcatUndef(), combineToExtendVectorInReg(), getOnesVector(), getVShift(), getZeroVector(), insert128BitVector(), llvm::AArch64TargetLowering::isShuffleMaskLegal(), llvm::ARMTargetLowering::isShuffleMaskLegal(), LowerCONCAT_VECTORS(), LowerMUL(), LowerVectorAllZeroTest(), PerformANDCombine(), PerformMULCombine(), performORCombine(), PerformORCombine(), performVSELECTCombine(), performXORCombine(), and WidenMaskArithmetic().
|
inline |
is16BitVector - Return true if this is a 16-bit vector type.
Definition at line 138 of file ValueTypes.h.
References llvm::MVT::is16BitVector(), and isSimple().
|
inline |
is2048BitVector - Return true if this is a 2048-bit vector type.
Definition at line 173 of file ValueTypes.h.
References llvm::MVT::is2048BitVector(), and isSimple().
|
inline |
is256BitVector - Return true if this is a 256-bit vector type.
Definition at line 158 of file ValueTypes.h.
References llvm::MVT::is256BitVector(), and isSimple().
Referenced by combineSelect(), combineSext(), combineShuffleOfConcatUndef(), combineToExtendVectorInReg(), combineZext(), extract128BitVector(), getOnesVector(), insert128BitVector(), insert256BitVector(), LowerVectorAllZeroTest(), truncateVectorCompareWithPACKSS(), and WidenMaskArithmetic().
|
inline |
is32BitVector - Return true if this is a 32-bit vector type.
Definition at line 143 of file ValueTypes.h.
References llvm::MVT::is32BitVector(), and isSimple().
|
inline |
is512BitVector - Return true if this is a 512-bit vector type.
Definition at line 163 of file ValueTypes.h.
References llvm::MVT::is512BitVector(), and isSimple().
Referenced by combineShuffleToAddSubOrFMAddSub(), combineToExtendVectorInReg(), extract128BitVector(), extract256BitVector(), getOnesVector(), LowerINTRINSIC_WO_CHAIN(), and truncateVectorCompareWithPACKSS().
|
inline |
is64BitVector - Return true if this is a 64-bit vector type.
Definition at line 148 of file ValueTypes.h.
References llvm::MVT::is64BitVector(), and isSimple().
Referenced by AddCombineToVPADD(), AddCombineVUZPToVPADDL(), CombineVLDDUP(), getCTPOP16BitCounts(), llvm::AArch64TargetLowering::isShuffleMaskLegal(), llvm::ARMTargetLowering::isShuffleMaskLegal(), isVUZP_v_undef_Mask(), isVUZPMask(), isVZIP_v_undef_Mask(), isVZIPMask(), lowerCTPOP16BitElements(), lowerCTPOP32BitElements(), LowerCTTZ(), LowerMUL(), PerformMULCombine(), and tryCombineLongOpWithDup().
|
inline |
isByteSized - Return true if the bit size is a multiple of 8.
Definition at line 183 of file ValueTypes.h.
References getSizeInBits().
Referenced by llvm::HexagonTargetLowering::LowerEXTRACT_SUBVECTOR_HVX(), llvm::TargetLowering::scalarizeVectorLoad(), and llvm::AMDGPUTargetLowering::shouldCombineMemoryType().
|
inline |
isExtended - Test if the given EVT is extended (as opposed to being simple).
Definition at line 113 of file ValueTypes.h.
References isSimple().
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), llvm::TargetLoweringBase::getLoadExtAction(), llvm::TargetLoweringBase::getOperationAction(), llvm::TargetLoweringBase::getTruncStoreAction(), getTypeForEVT(), and llvm::SelectionDAG::getValueType().
|
inline |
isFloatingPoint - Return true if this is a FP, or a vector FP type.
Definition at line 118 of file ValueTypes.h.
References llvm::MVT::isFloatingPoint(), and isSimple().
Referenced by combineConcatVectorOfScalars(), combineSelect(), combineShuffle(), convertIntLogicToFPLogic(), createFPCmp(), EmitCMP(), emitComparison(), emitConditionalComparison(), emitConjunctionDisjunctionTreeRec(), EmitVectorComparison(), llvm::PPCTargetLowering::enableAggressiveFMAFusion(), llvm::TargetLowering::expandUnalignedLoad(), llvm::TargetLowering::expandUnalignedStore(), FindOptimalMemOpLowering(), foldBitcastedFPLogic(), llvm::TargetLoweringBase::getBooleanContents(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::SelectionDAG::getConstantFP(), getCopyFromParts(), getCopyToParts(), llvm::SelectionDAG::getNode(), llvm::ARMTargetLowering::getSchedulingPreference(), llvm::SelectionDAGBuilder::getValueImpl(), llvm::AArch64TargetLowering::hasPairedLoad(), llvm::AMDGPUTargetLowering::isFAbsFree(), llvm::TargetLoweringBase::isFAbsFree(), isFNEG(), llvm::TargetLoweringBase::isFNegFree(), llvm::PPCTargetLowering::isFPExtFree(), llvm::TargetLoweringBase::isFPExtFree(), llvm::X86TargetLowering::isMultiStoresCheaperThanBitsMerge(), llvm::ConstantFPSDNode::isValueValidForType(), lowerVectorSETCC(), LowerVSETCC(), llvm::ARMTargetLowering::LowerXConstraint(), llvm::X86TargetLowering::LowerXConstraint(), llvm::TargetLowering::LowerXConstraint(), NormalizeBuildVector(), PerformARMBUILD_VECTORCombine(), replaceSplatVectorStore(), llvm::TargetLowering::SimplifyDemandedBits(), and VerifySDNode().
|
inline |
isInteger - Return true if this is an integer, or a vector integer type.
Definition at line 123 of file ValueTypes.h.
References llvm::MVT::isInteger(), and isSimple().
Referenced by AddCombineBUILD_VECTORToVPADDL(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), combineConcatVectorOfScalars(), combineIntegerAbs(), combineShiftRightAlgebraic(), combineShuffle(), combineShuffleOfScalars(), combineVSelectWithAllOnesOrZeros(), llvm::SelectionDAG::computeKnownBits(), llvm::SelectionDAG::ComputeNumSignBits(), EltsFromConsecutiveLoads(), emitConjunctionDisjunctionTreeRec(), llvm::TargetLowering::expandUnalignedLoad(), llvm::TargetLowering::expandUnalignedStore(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::SelectionDAG::FoldSetCC(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::SelectionDAG::getConstant(), getCopyFromParts(), getCopyToParts(), getEVTString(), getHalfSizedIntegerVT(), llvm::SelectionDAG::getLoad(), getMemcpyLoadsAndStores(), getMemsetStringVal(), getMemsetValue(), llvm::SelectionDAG::getNode(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getRegisterType(), llvm::GetReturnInfo(), getRoundIntegerType(), llvm::TargetLoweringBase::getShiftAmountTy(), llvm::SelectionDAG::getSplatBuildVector(), llvm::SelectionDAG::getTruncStore(), llvm::AArch64TargetLowering::hasPairedLoad(), llvm::X86TargetLowering::isMultiStoresCheaperThanBitsMerge(), isSupportedType(), llvm::MSP430TargetLowering::isTruncateFree(), llvm::AArch64TargetLowering::isTruncateFree(), llvm::SystemZTargetLowering::isTruncateFree(), llvm::PPCTargetLowering::isTruncateFree(), llvm::X86TargetLowering::isTruncateFree(), llvm::XCoreTargetLowering::isZExtFree(), llvm::ARMTargetLowering::isZExtFree(), llvm::AArch64TargetLowering::isZExtFree(), llvm::X86TargetLowering::isZExtFree(), LowerBR_CC(), llvm::NVPTXTargetLowering::LowerCall(), LowerMUL(), LowerSELECT_CC(), LowerVectorBroadcast(), llvm::TargetLowering::LowerXConstraint(), OptimizeConditionalInDecrement(), OptimizeNoopCopyExpression(), PerformADDCombineWithOperands(), llvm::R600TargetLowering::PerformDAGCombine(), performIntegerAbsCombine(), llvm::AMDGPUTargetLowering::performSelectCombine(), performSELECTCombine(), performVSELECTCombine(), performXORCombine(), llvm::TargetLowering::SimplifySetCC(), VerifySDNode(), and XFormVExtractWithShuffleIntoLoad().
|
inline |
isOverloaded - Return true if this is an overloaded type for TableGen.
Definition at line 178 of file ValueTypes.h.
References llvm::MVT::fAny, llvm::MVT::iAny, llvm::MVT::iPTRAny, and llvm::MVT::vAny.
|
inline |
isPow2VectorType - Returns true if the given vector is a power of 2.
Definition at line 314 of file ValueTypes.h.
References getVectorNumElements().
Referenced by getPow2VectorType().
|
inline |
isRound - Return true if the size is a power-of-two number of bytes.
Definition at line 188 of file ValueTypes.h.
References getSizeInBits().
Referenced by llvm::TargetLowering::SimplifySetCC().
|
inline |
isScalarInteger - Return true if this is an integer, but not a vector.
Definition at line 128 of file ValueTypes.h.
References llvm::MVT::isScalarInteger(), and isSimple().
|
inline |
isSimple - Test if the given EVT is simple (as opposed to being extended).
Definition at line 107 of file ValueTypes.h.
References llvm::MVT::SimpleTy.
Referenced by llvm::R600TargetLowering::allowsMisalignedMemoryAccesses(), llvm::PPCTargetLowering::allowsMisalignedMemoryAccesses(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), changeTypeToInteger(), changeVectorElementTypeToInteger(), combineBasicSADPattern(), combineLoopSADPattern(), combineVectorSignBitsTruncation(), combineVectorTruncation(), detectAVGPattern(), foldVectorXorShiftIntoCmp(), llvm::AMDGPUTTIImpl::getArithmeticInstrCost(), llvm::X86TTIImpl::getCastInstrCost(), llvm::AArch64TTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCmpSelInstrCost(), llvm::AArch64TTIImpl::getCmpSelInstrCost(), getExtensionTo64Bits(), llvm::SelectionDAG::getNode(), llvm::TargetLoweringBase::getNumRegisters(), getRawBits(), llvm::FastISel::getRegForValue(), llvm::TargetLoweringBase::getRegisterType(), llvm::X86TargetLowering::getSetCCResultType(), getSimpleVT(), getSizeInBits(), llvm::SelectionDAG::getValueType(), getVectorElementType(), getVectorNumElements(), llvm::AArch64TargetLowering::hasPairedLoad(), is1024BitVector(), is128BitVector(), is16BitVector(), is2048BitVector(), is256BitVector(), is32BitVector(), is512BitVector(), is64BitVector(), isDivRemLibcallAvailable(), isExtended(), isFloatingPoint(), llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::X86TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFPImmLegal(), llvm::TargetLoweringBase::isIndexedLoadLegal(), llvm::TargetLoweringBase::isIndexedStoreLegal(), isInteger(), isLegalAddressImmediate(), llvm::ARMTargetLowering::isLegalAddressingMode(), llvm::TargetLoweringBase::isLoadBitCastBeneficial(), isScalarInteger(), llvm::X86TargetLowering::isShuffleMaskLegal(), isSupportedType(), llvm::HexagonTargetLowering::isTruncateFree(), llvm::TargetLoweringBase::isTypeLegal(), isVector(), llvm::XCoreTargetLowering::isZExtFree(), llvm::ARMTargetLowering::isZExtFree(), llvm::AArch64TargetLowering::isZExtFree(), llvm::X86TargetLowering::isZExtFree(), llvm::PPCTargetLowering::PerformDAGCombine(), performExtendCombine(), performFDivCombine(), performFpToIntCombine(), PerformVCVTCombine(), PerformVDIVCombine(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::FastISel::selectBinaryOp(), llvm::FastISel::selectCast(), llvm::FastISel::selectExtractValue(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
isVector - Return true if this is a vector value type.
Definition at line 133 of file ValueTypes.h.
References isSimple(), and llvm::MVT::isVector().
Referenced by llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), canTreatAsByteVector(), changeTypeToInteger(), combineAnd(), combineConcatVectorOfScalars(), combineFMinNumFMaxNum(), combineLoopSADPattern(), combineMul(), combineSelect(), combineShiftLeft(), combineShiftRightAlgebraic(), combineShuffle(), combineSignExtendInReg(), combineSIntToFP(), combineToExtendVectorInReg(), combineTruncatedArithmetic(), combineUIntToFP(), combineVectorCompareAndMaskUnaryOp(), combineVectorSignBitsTruncation(), combineVectorTruncation(), CombineVMOVDRRCandidateWithVecOp(), combineVSelectWithAllOnesOrZeros(), llvm::SelectionDAG::computeKnownBits(), llvm::SelectionDAG::ComputeNumSignBits(), ComputePTXValueVTs(), detectAVGPattern(), ExpandBITCAST(), llvm::TargetLowering::expandMUL_LOHI(), llvm::TargetLowering::expandUnalignedLoad(), llvm::TargetLowering::expandUnalignedStore(), FindOptimalMemOpLowering(), foldBitcastedFPLogic(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), foldVectorXorShiftIntoCmp(), llvm::SelectionDAG::getAnyExtendVectorInReg(), llvm::TargetLoweringBase::getBooleanContents(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getConstantFP(), getCopyFromParts(), getCopyFromPartsVector(), getCopyToParts(), getCopyToPartsVector(), getEVTString(), getHalfSizedIntegerVT(), llvm::SelectionDAG::getLoad(), getMemcpyLoadsAndStores(), getMemsetStores(), getMemsetStringVal(), llvm::SelectionDAG::getNode(), getNullFPConstForNullVal(), llvm::TargetLoweringBase::getNumRegisters(), llvm::PPCTargetLowering::getPreIndexedAddressParts(), getReciprocalOpName(), llvm::TargetLoweringBase::getRegisterType(), getRoundIntegerType(), getScalarType(), llvm::ARMTargetLowering::getSchedulingPreference(), llvm::SelectionDAG::getSelect(), llvm::SelectionDAG::getSetCC(), llvm::R600TargetLowering::getSetCCResultType(), llvm::AVRTargetLowering::getSetCCResultType(), llvm::SparcTargetLowering::getSetCCResultType(), llvm::SITargetLowering::getSetCCResultType(), llvm::HexagonTargetLowering::getSetCCResultType(), llvm::MipsTargetLowering::getSetCCResultType(), llvm::ARMTargetLowering::getSetCCResultType(), llvm::AArch64TargetLowering::getSetCCResultType(), llvm::SystemZTargetLowering::getSetCCResultType(), llvm::TargetLoweringBase::getSetCCResultType(), llvm::NVPTXTargetLowering::getSetCCResultType(), llvm::PPCTargetLowering::getSetCCResultType(), llvm::X86TargetLowering::getSetCCResultType(), llvm::SelectionDAG::getShiftAmountOperand(), llvm::TargetLoweringBase::getShiftAmountTy(), getShuffleScalarElt(), llvm::SelectionDAG::getSignExtendVectorInReg(), llvm::SelectionDAG::GetSplitDestVTs(), llvm::SelectionDAG::getTruncStore(), llvm::TargetLoweringBase::getTypeToExpandTo(), getUniformBase(), getVectorElementType(), getVectorNumElements(), llvm::SelectionDAG::getZeroExtendInReg(), llvm::SelectionDAG::getZeroExtendVectorInReg(), getZeroVector(), llvm::X86TargetLowering::hasBitPreservingFPLogic(), llvm::BuildVectorSDNode::isConstantSplat(), isHorizontalBinOp(), llvm::AArch64TargetLowering::isIntDivCheap(), llvm::X86TargetLowering::isIntDivCheap(), isSupportedType(), llvm::AArch64TargetLowering::isTruncateFree(), isVShiftLImm(), isVShiftRImm(), llvm::AArch64TargetLowering::isZExtFree(), llvm::TargetLowering::LowerCallTo(), LowerCTTZ(), LowerExtended1BitVectorLoad(), LowerExtendedLoad(), llvm::HexagonTargetLowering::LowerEXTRACT_SUBVECTOR_HVX(), llvm::HexagonTargetLowering::LowerEXTRACT_VECTOR(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerINSERT_VECTOR(), llvm::ARMTargetLowering::LowerOperation(), llvm::NVPTXTargetLowering::LowerReturn(), llvm::HexagonTargetLowering::LowerSETCC(), LowerShift(), LowerTruncatingStore(), LowerVectorBroadcast(), lowerVectorShuffleAsTruncBroadcast(), llvm::ARMTargetLowering::LowerXConstraint(), performAcrossLaneAddReductionCombine(), performAcrossLaneMinMaxReductionCombine(), PerformADDCombineWithOperands(), performBitcastCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), performExtendCombine(), performFDivCombine(), performFpToIntCombine(), llvm::AMDGPUTargetLowering::performLoadCombine(), PerformLOADCombine(), llvm::AMDGPUTargetLowering::performMulCombine(), performMULCombine(), llvm::AMDGPUTargetLowering::performMulhsCombine(), llvm::AMDGPUTargetLowering::performMulhuCombine(), PerformORCombine(), performSelectCombine(), llvm::AMDGPUTargetLowering::performStoreCombine(), PerformSTORECombine(), PerformVCVTCombine(), PerformVDIVCombine(), performVectorCompareAndMaskUnaryOpCombine(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::AMDGPUTargetLowering::shouldCombineMemoryType(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), llvm::TargetLowering::SimplifyDemandedBits(), splitStores(), tryCombineToBSL(), tryFoldToZero(), tryLowerToSLI(), tryMatchAcrossLaneShuffleForReduction(), tryToFoldExtendOfConstant(), llvm::SelectionDAG::UnrollVectorOp(), VerifySDNode(), VerifyVectorType(), and XFormVExtractWithShuffleIntoLoad().
Definition at line 44 of file ValueTypes.h.
References llvm::MVT::SimpleTy.
Definition at line 41 of file ValueTypes.h.
|
inline |
Return a VT for an integer vector type with the size of the elements doubled.
The typed returned may be an extended type.
Definition at line 307 of file ValueTypes.h.
References getIntegerVT(), getSizeInBits(), getVectorElementType(), getVectorNumElements(), and getVectorVT().
1.8.6