|
LLVM
3.7.0
|
MVT - Machine Value Type. More...
#include <MachineValueType.h>
Public Member Functions | |
| LLVM_CONSTEXPR | MVT () |
| LLVM_CONSTEXPR | MVT (SimpleValueType SVT) |
| bool | operator> (const MVT &S) const |
| bool | operator< (const MVT &S) const |
| bool | operator== (const MVT &S) const |
| bool | operator!= (const MVT &S) const |
| bool | operator>= (const MVT &S) const |
| bool | operator<= (const MVT &S) const |
| bool | isValid () const |
| isValid - Return true if this is a valid simple valuetype. 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 | 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 | isOverloaded () const |
| isOverloaded - Return true if this is an overloaded type for TableGen. More... | |
| bool | isPow2VectorType () const |
| isPow2VectorType - Returns true if the given vector is a power of 2. More... | |
| MVT | getPow2VectorType () const |
| getPow2VectorType - Widens the length of the given vector MVT up to the nearest power of 2 and returns that type. More... | |
| MVT | getScalarType () const |
| getScalarType - If this is a vector type, return the element type, otherwise return this. More... | |
| MVT | getVectorElementType () const |
| unsigned | getVectorNumElements () const |
| unsigned | getSizeInBits () const |
| 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... | |
| bool | bitsGT (MVT VT) const |
| Return true if this has more bits than VT. More... | |
| bool | bitsGE (MVT VT) const |
| Return true if this has no less bits than VT. More... | |
| bool | bitsLT (MVT VT) const |
| Return true if this has less bits than VT. More... | |
| bool | bitsLE (MVT VT) const |
| Return true if this has no more bits than VT. More... | |
Static Public Member Functions | |
| static MVT | getFloatingPointVT (unsigned BitWidth) |
| static MVT | getIntegerVT (unsigned BitWidth) |
| static MVT | getVectorVT (MVT VT, unsigned NumElements) |
| static MVT | getVT (Type *Ty, bool HandleUnknown=false) |
| Return the value type corresponding to the specified type. More... | |
| static mvt_range | all_valuetypes () |
| SimpleValueType Iteration. More... | |
| static mvt_range | integer_valuetypes () |
| static mvt_range | fp_valuetypes () |
| static mvt_range | vector_valuetypes () |
| static mvt_range | integer_vector_valuetypes () |
| static mvt_range | fp_vector_valuetypes () |
Public Attributes | |
| SimpleValueType | SimpleTy |
Every type that is supported natively by some processor targeted by LLVM occurs here. This means that any legal value type can be represented by an MVT.
Definition at line 29 of file MachineValueType.h.
Definition at line 31 of file MachineValueType.h.
|
inline |
Definition at line 165 of file MachineValueType.h.
Referenced by getVT().
|
inline |
Definition at line 166 of file MachineValueType.h.
|
inlinestatic |
SimpleValueType Iteration.
Definition at line 619 of file MachineValueType.h.
References FIRST_VALUETYPE, and LAST_VALUETYPE.
Referenced by llvm::TargetLoweringBase::initActions().
Return true if this has no less bits than VT.
Definition at line 475 of file MachineValueType.h.
References getSizeInBits().
Return true if this has more bits than VT.
Definition at line 470 of file MachineValueType.h.
References getSizeInBits().
Referenced by LowerFCOPYSIGN().
Return true if this has no more bits than VT.
Definition at line 485 of file MachineValueType.h.
References getSizeInBits().
Return true if this has less bits than VT.
Definition at line 480 of file MachineValueType.h.
References getSizeInBits().
Referenced by LowerFCOPYSIGN().
|
inlinestatic |
Definition at line 626 of file MachineValueType.h.
References FIRST_FP_VALUETYPE, and LAST_FP_VALUETYPE.
Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::HexagonTargetLowering::HexagonTargetLowering(), llvm::MipsTargetLowering::MipsTargetLowering(), llvm::SITargetLowering::SITargetLowering(), llvm::SparcTargetLowering::SparcTargetLowering(), and llvm::SystemZTargetLowering::SystemZTargetLowering().
|
inlinestatic |
Definition at line 639 of file MachineValueType.h.
References FIRST_FP_VECTOR_VALUETYPE, and LAST_FP_VECTOR_VALUETYPE.
Referenced by llvm::MipsTargetLowering::MipsTargetLowering(), and llvm::X86TargetLowering::X86TargetLowering().
Definition at line 490 of file MachineValueType.h.
References f128, f16, f32, f64, f80, and llvm_unreachable.
Referenced by llvm::EVT::getFloatingPointVT(), lower256BitVectorShuffle(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), and lowerVectorShuffle().
Definition at line 507 of file MachineValueType.h.
References i1, i128, i16, i32, i64, i8, and INVALID_SIMPLE_VALUE_TYPE.
Referenced by llvm::EVT::changeVectorElementTypeToInteger(), CombineBaseUpdate(), ConvertI1VectorToInterger(), llvm::EVT::getIntegerVT(), getPermuteNode(), llvm::TargetLoweringBase::getPointerTy(), GetRegistersForValue(), llvm::TargetLoweringBase::getScalarShiftAmountTy(), getVT(), lowerFCOPYSIGN64(), LowerSIGN_EXTEND_VECTOR_INREG(), lowerVectorShuffle(), lowerVectorShuffleAsBitMask(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsUnpack(), memsetStore(), llvm::TargetLowering::ParseConstraints(), llvm::SystemZTargetLowering::PerformDAGCombine(), performExtendCombine(), ShrinkLoadReplaceStoreWithStore(), skipExtensionForVectorMULL(), SkipExtensionForVMULL(), toIntegerVT(), and tryBuildVectorReplicate().
|
inline |
getPow2VectorType - Widens the length of the given vector MVT up to the nearest power of 2 and returns that type.
Definition at line 266 of file MachineValueType.h.
References getVectorElementType(), getVectorNumElements(), getVectorVT(), isPow2VectorType(), and llvm::Log2_32_Ceil().
Referenced by llvm::TargetLoweringBase::computeRegisterProperties().
|
inline |
Definition at line 453 of file MachineValueType.h.
References getScalarType(), and getSizeInBits().
Referenced by llvm::DecodeBLENDMask(), llvm::DecodeMOVDDUPMask(), llvm::DecodeZeroExtendMask(), getPSHUFShuffleMask(), getScalarValueForVectorElement(), is128BitLaneCrossingShuffleMask(), is128BitLaneRepeatedShuffleMask(), lower256BitVectorShuffle(), LowerExtendedLoad(), LowerSEHRESTOREFRAME(), LowerSIGN_EXTEND_VECTOR_INREG(), lowerVectorShuffle(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsUnpack(), lowerVectorShuffleAsZeroOrAnyExtend(), lowerVectorShuffleByMerging128BitLanes(), lowerVectorShuffleWithSHUFPD(), lowerVectorShuffleWithSSE4A(), SupportedVectorShiftWithImm(), and SupportedVectorVarShift().
|
inline |
getScalarType - If this is a vector type, return the element type, otherwise return this.
Definition at line 277 of file MachineValueType.h.
References getVectorElementType(), and isVector().
Referenced by combineRedundantDWordShuffle(), llvm::TargetLoweringBase::computeRegisterProperties(), getScalarSizeInBits(), LowerAVXCONCAT_VECTORS(), LowerAVXExtend(), LowerCONCAT_VECTORSvXi1(), LowerShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_VECTOR_INREG(), lowerV8I16GeneralSingleInputVectorShuffle(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBitMask(), PerformTargetShuffleCombine(), splitAndLowerVectorShuffle(), and tryCombineShiftImm().
|
inline |
Definition at line 379 of file MachineValueType.h.
References Any, f128, f16, f32, f64, f80, fAny, i1, i128, i16, i32, i64, i8, iAny, iPTR, iPTRAny, llvm_unreachable, Other, ppcf128, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, v1i128, v1i16, v1i32, v1i64, v1i8, v2f16, v2f32, v2f64, v2i1, v2i16, v2i32, v2i64, v2i8, v32i1, v32i16, v32i8, v4f16, v4f32, v4f64, v4i1, v4i16, v4i32, v4i64, v4i8, v64i1, v64i8, v8f16, v8f32, v8f64, v8i1, v8i16, v8i32, v8i64, v8i8, vAny, and x86mmx.
Referenced by bitsGE(), bitsGT(), bitsLE(), bitsLT(), llvm::CC_ARM_AAPCS_Custom_Aggregate(), CC_MipsO32(), CC_Sparc64_Full(), CC_Sparc64_Half(), llvm::EVT::changeVectorElementTypeToInteger(), CombineBaseUpdate(), combineX86ShuffleChain(), combineX86ShufflesRecursively(), llvm::TargetLoweringBase::computeRegisterProperties(), llvm::DecodeMOVDDUPMask(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFMask(), llvm::DecodePSLLDQMask(), llvm::DecodePSRLDQMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), ExpandUnalignedLoad(), ExpandUnalignedStore(), llvm::FastISel::fastEmit_ri_(), FoldMaskAndShiftToScale(), getCopyFromParts(), getCopyFromPartsVector(), llvm::RegsForValue::getCopyFromRegs(), getCopyToParts(), getCopyToPartsVector(), getExtractVEXTRACTImmediate(), getInsertVINSERTImmediate(), llvm::TargetLoweringBase::getNumRegisters(), getPSHUFShuffleMask(), llvm::ARMTargetLowering::getRegForInlineAsmConstraint(), llvm::X86TargetLowering::getRegForInlineAsmConstraint(), GetRegistersForValue(), getScalarSizeInBits(), getScalarValueForVectorElement(), llvm::EVT::getSizeInBits(), getStoreSize(), getTargetVShiftByConstNode(), getTargetVShiftNode(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), Insert128BitVector(), isHorizontalBinOp(), isVEXTRACTIndex(), isVINSERTIndex(), LowerAsSplatVectorLoad(), LowerBITCAST(), llvm::TargetLowering::LowerCallTo(), LowerCTLZ(), LowerCTLZ_ZERO_UNDEF(), LowerCTTZ(), LowerExtendedLoad(), LowerEXTRACT_VECTOR_ELT_SSE4(), LowerFABSorFNEG(), LowerFCOPYSIGN(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerHorizontalByteSum(), LowerSCALAR_TO_VECTOR(), LowerShiftParts(), LowerSIGN_EXTEND_AVX512(), LowerSIGN_EXTEND_VECTOR_INREG(), LowerVectorBroadcast(), LowerVectorCTPOPBitmath(), LowerVectorCTPOPInRegLUT(), lowerVectorShuffle(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBitMask(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsByteRotate(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsLanePermuteAndBlend(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsSplitOrBlend(), lowerVectorShuffleAsZeroOrAnyExtend(), lowerVectorShuffleByMerging128BitLanes(), llvm::TargetLowering::ParseConstraints(), performBitcastCombine(), PerformSTORECombine(), PerformVCVTCombine(), PerformVDIVCombine(), performVZEXTCombine(), splitAndLowerVectorShuffle(), tryCombineShiftImm(), UnpackFromArgumentSlot(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
getStoreSize - Return the number of bytes overwritten by a store of the specified value type.
Definition at line 459 of file MachineValueType.h.
References getSizeInBits().
Referenced by allocateStack(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), getStoreSizeInBits(), llvm::SITargetLowering::LowerFormalArguments(), and NarrowVectorLoadToElement().
|
inline |
getStoreSizeInBits - Return the number of bits overwritten by a store of the specified value type.
Definition at line 465 of file MachineValueType.h.
References getStoreSize().
Referenced by llvm::HexagonTargetLowering::LowerFormalArguments().
|
inline |
Definition at line 281 of file MachineValueType.h.
References f16, f32, f64, i1, i128, i16, i32, i64, i8, llvm_unreachable, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, v1i128, v1i16, v1i32, v1i64, v1i8, v2f16, v2f32, v2f64, v2i1, v2i16, v2i32, v2i64, v2i8, v32i1, v32i16, v32i8, v4f16, v4f32, v4f64, v4i1, v4i16, v4i32, v4i64, v4i8, v64i1, v64i8, v8f16, v8f32, v8f64, v8i1, v8i16, v8i32, v8i64, and v8i8.
Referenced by llvm::EVT::changeVectorElementTypeToInteger(), ChangeVSETULTtoVSETULE(), llvm::TargetLoweringBase::computeRegisterProperties(), llvm::DecodePALIGNRMask(), getCopyToPartsVector(), getExtractVEXTRACTImmediate(), getInsertVINSERTImmediate(), getPow2VectorType(), getScalarType(), getScalarValueForVectorElement(), getShuffleScalarElt(), getTargetVShiftByConstNode(), getTargetVShiftNode(), getUnderlyingExtractedFromVec(), llvm::EVT::getVectorElementType(), getVectorTypeBreakdownMVT(), llvm::NVPTXTargetLowering::isTypeSupportedInIntrinsic(), isVEXTRACTIndex(), isVINSERTIndex(), Lower256IntArith(), Lower256IntVSETCC(), LowerAVXExtend(), LowerBITCAST(), LowerCONCAT_VECTORS(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), LowerHorizontalByteSum(), LowerINSERT_SUBVECTOR(), LowerSCALAR_TO_VECTOR(), LowerScalarVariableShift(), LowerShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), lowerV2X128VectorShuffle(), LowerVectorCTPOPBitmath(), LowerVectorCTPOPInRegLUT(), lowerVectorShuffleAsElementInsertion(), LowerVSETCC(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), NarrowVectorLoadToElement(), performConcatVectorsCombine(), PerformVCVTCombine(), PerformVDIVCombine(), performVZEXTCombine(), llvm::X86TargetLowering::ReplaceNodeResults(), tryExtendDUPToExtractHigh(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
Definition at line 330 of file MachineValueType.h.
References llvm_unreachable, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, v1i128, v1i16, v1i32, v1i64, v1i8, v2f16, v2f32, v2f64, v2i1, v2i16, v2i32, v2i64, v2i8, v32i1, v32i16, v32i8, v4f16, v4f32, v4f64, v4i1, v4i16, v4i32, v4i64, v4i8, v64i1, v64i8, v8f16, v8f32, v8f64, v8i1, v8i16, v8i32, v8i64, and v8i8.
Referenced by ChangeVSETULTtoVSETULE(), combineX86ShufflesRecursively(), llvm::TargetLoweringBase::computeRegisterProperties(), llvm::DecodeBLENDMask(), llvm::DecodeMOVDDUPMask(), llvm::DecodeMOVSHDUPMask(), llvm::DecodeMOVSLDUPMask(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFHWMask(), llvm::DecodePSHUFLWMask(), llvm::DecodePSHUFMask(), llvm::DecodeScalarMoveMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::DecodeVPERM2X128Mask(), llvm::DecodeZeroExtendMask(), llvm::DecodeZeroMoveLowMask(), getCopyToPartsVector(), getGatherNode(), llvm::X86TTIImpl::getMaskedMemoryOpCost(), getPow2VectorType(), getPrefetchNode(), getScatterNode(), getShuffleScalarElt(), getShuffleVectorZeroOrUndef(), getTargetShuffleMask(), getUnderlyingExtractedFromVec(), getUnpackh(), getUnpackl(), llvm::EVT::getVectorNumElements(), getVectorTypeBreakdownMVT(), isHorizontalBinOp(), isPow2VectorType(), lower256BitVectorShuffle(), Lower256IntArith(), Lower256IntVSETCC(), LowerAsSplatVectorLoad(), LowerAVXCONCAT_VECTORS(), LowerAVXExtend(), LowerBITCAST(), LowerCONCAT_VECTORSvXi1(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), LowerHorizontalByteSum(), LowerINSERT_SUBVECTOR(), LowerMUL(), LowerSCALAR_TO_VECTOR(), LowerScalarImmediateShift(), LowerScalarVariableShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), LowerSIGN_EXTEND_VECTOR_INREG(), lowerV2X128VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), LowerVectorBroadcast(), LowerVectorCTPOP(), LowerVectorCTPOPBitmath(), lowerVectorShuffle(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsUnpack(), lowerVectorShuffleAsZeroOrAnyExtend(), lowerVectorShuffleWithSHUFPD(), lowerVectorShuffleWithSSE4A(), lowerVSELECTtoVectorShuffle(), LowerVSETCC(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), performConcatVectorsCombine(), PerformTargetShuffleCombine(), performVZEXTCombine(), splitAndLowerVectorShuffle(), transformVSELECTtoBlendVECTOR_SHUFFLE(), tryExtendDUPToExtractHigh(), and llvm::X86TargetLowering::X86TargetLowering().
Definition at line 526 of file MachineValueType.h.
References f16, f32, f64, i1, i128, i16, i32, i64, i8, INVALID_SIMPLE_VALUE_TYPE, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, v1i128, v1i16, v1i32, v1i64, v1i8, v2f16, v2f32, v2f64, v2i1, v2i16, v2i32, v2i64, v2i8, v32i1, v32i16, v32i8, v4f16, v4f32, v4f64, v4i1, v4i16, v4i32, v4i64, v4i8, v64i1, v64i8, v8f16, v8f32, v8f64, v8i1, v8i16, v8i32, v8i64, and v8i8.
Referenced by AddCombineToVPADDL(), llvm::EVT::changeVectorElementTypeToInteger(), CombineBaseUpdate(), getGatherNode(), getPermuteNode(), getPow2VectorType(), getPrefetchNode(), getScatterNode(), getTargetVShiftNode(), getVectorTypeBreakdownMVT(), llvm::EVT::getVectorVT(), getVT(), lower256BitVectorShuffle(), Lower256IntArith(), Lower256IntVSETCC(), LowerAVXCONCAT_VECTORS(), LowerAVXExtend(), LowerCONCAT_VECTORSvXi1(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), LowerHorizontalByteSum(), LowerMUL(), LowerSCALAR_TO_VECTOR(), LowerScalarImmediateShift(), LowerShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_VECTOR_INREG(), lowerV2X128VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), LowerVectorCTPOPBitmath(), LowerVectorCTPOPInRegLUT(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), lowerVectorShuffle(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsByteRotate(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsUnpack(), lowerVectorShuffleByMerging128BitLanes(), llvm::MipsTargetLowering::MipsTargetLowering(), NarrowVector(), performConcatVectorsCombine(), llvm::SystemZTargetLowering::PerformDAGCombine(), performExtendCombine(), skipExtensionForVectorMULL(), SkipExtensionForVMULL(), splitAndLowerVectorShuffle(), tryBuildVectorReplicate(), tryExtendDUPToExtractHigh(), and WidenVector().
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 249 of file ValueTypes.cpp.
References llvm::Type::DoubleTyID, f128, f16, f32, f64, f80, llvm::Type::FloatTyID, llvm::Type::FP128TyID, getBitWidth(), llvm::SequentialType::getElementType(), getIntegerVT(), llvm::VectorType::getNumElements(), llvm::Type::getTypeID(), getVectorVT(), llvm::Type::HalfTyID, llvm::Type::IntegerTyID, iPTR, isVoid, llvm_unreachable, MVT(), Other, llvm::Type::PointerTyID, llvm::Type::PPC_FP128TyID, ppcf128, llvm::Type::VectorTyID, llvm::Type::VoidTyID, llvm::Type::X86_FP80TyID, llvm::Type::X86_MMXTyID, and x86mmx.
Referenced by llvm::EVT::getEVT(), llvm::AArch64TargetLowering::getTgtMemIntrinsic(), llvm::ARMTargetLowering::getTgtMemIntrinsic(), and llvm::TargetLowering::ParseConstraints().
|
inlinestatic |
Definition at line 622 of file MachineValueType.h.
References FIRST_INTEGER_VALUETYPE, and LAST_INTEGER_VALUETYPE.
Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering(), llvm::AMDGPUTargetLowering::AMDGPUTargetLowering(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::BPFTargetLowering::BPFTargetLowering(), llvm::HexagonTargetLowering::HexagonTargetLowering(), LowerExtendedLoad(), llvm::MipsTargetLowering::MipsTargetLowering(), llvm::MSP430TargetLowering::MSP430TargetLowering(), llvm::NVPTXTargetLowering::NVPTXTargetLowering(), PerformSTORECombine(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::R600TargetLowering::R600TargetLowering(), llvm::SITargetLowering::SITargetLowering(), llvm::SparcTargetLowering::SparcTargetLowering(), llvm::SystemZTargetLowering::SystemZTargetLowering(), llvm::X86TargetLowering::X86TargetLowering(), and llvm::XCoreTargetLowering::XCoreTargetLowering().
|
inlinestatic |
Definition at line 634 of file MachineValueType.h.
References FIRST_INTEGER_VECTOR_VALUETYPE, and LAST_INTEGER_VECTOR_VALUETYPE.
Referenced by llvm::AMDGPUTargetLowering::AMDGPUTargetLowering(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::SITargetLowering::SITargetLowering(), llvm::SystemZTargetLowering::SystemZTargetLowering(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
is1024BitVector - Return true if this is a 1024-bit vector type.
Definition at line 247 of file MachineValueType.h.
References SimpleTy, and v16i64.
Referenced by llvm::EVT::is1024BitVector().
|
inline |
is128BitVector - Return true if this is a 128-bit vector type.
Definition at line 225 of file MachineValueType.h.
References SimpleTy, v16i8, v1i128, v2f64, v2i64, v4f32, v4i32, v8f16, and v8i16.
Referenced by getOnesVector(), llvm::EVT::is128BitVector(), isHorizontalBinOp(), LowerBuildVectorv4x32(), LowerEXTRACT_SUBVECTOR(), LowerEXTRACT_VECTOR_ELT_SSE4(), LowerINSERT_SUBVECTOR(), LowerSCALAR_TO_VECTOR(), LowerVectorBroadcast(), LowerVectorCTPOP(), LowerVectorCTPOPBitmath(), LowerZERO_EXTEND(), performAddSubLongCombine(), SupportedVectorShiftWithImm(), SupportedVectorVarShift(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
is16BitVector - Return true if this is a 16-bit vector type.
Definition at line 204 of file MachineValueType.h.
References SimpleTy, v16i1, v1i16, and v2i8.
Referenced by llvm::EVT::is16BitVector().
|
inline |
is256BitVector - Return true if this is a 256-bit vector type.
Definition at line 233 of file MachineValueType.h.
References SimpleTy, v16i16, v32i8, v4f64, v4i64, v8f32, and v8i32.
Referenced by getOnesVector(), llvm::EVT::is256BitVector(), isHorizontalBinOp(), Lower256IntArith(), Lower256IntVSETCC(), LowerADD(), LowerAVXCONCAT_VECTORS(), LowerCONCAT_VECTORS(), LowerEXTRACT_SUBVECTOR(), LowerINSERT_SUBVECTOR(), LowerMUL(), LowerSUB(), LowerVectorBroadcast(), LowerVectorCTPOP(), LowerVSETCC(), LowerZERO_EXTEND(), SupportedVectorShiftWithImm(), SupportedVectorVarShift(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
is32BitVector - Return true if this is a 32-bit vector type.
Definition at line 210 of file MachineValueType.h.
References SimpleTy, v1f32, v1i32, v2f16, v2i16, and v4i8.
Referenced by llvm::EVT::is32BitVector().
|
inline |
is512BitVector - Return true if this is a 512-bit vector type.
Definition at line 240 of file MachineValueType.h.
References SimpleTy, v16f32, v16i32, v32i16, v64i8, v8f64, and v8i64.
Referenced by llvm::EVT::is512BitVector(), LowerAVXCONCAT_VECTORS(), LowerAVXExtend(), LowerCONCAT_VECTORS(), LowerEXTRACT_SUBVECTOR(), LowerINSERT_SUBVECTOR(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), LowerVectorBroadcast(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), SupportedVectorShiftWithImm(), SupportedVectorVarShift(), and llvm::X86TargetLowering::X86TargetLowering().
|
inline |
is64BitVector - Return true if this is a 64-bit vector type.
Definition at line 217 of file MachineValueType.h.
References SimpleTy, v1f64, v1i64, v2f32, v2i32, v4f16, v4i16, and v8i8.
Referenced by llvm::EVT::is64BitVector(), and tryExtendDUPToExtractHigh().
|
inline |
isFloatingPoint - Return true if this is a FP, or a vector FP type.
Definition at line 182 of file MachineValueType.h.
References FIRST_FP_VALUETYPE, FIRST_FP_VECTOR_VALUETYPE, LAST_FP_VALUETYPE, LAST_FP_VECTOR_VALUETYPE, and SimpleTy.
Referenced by CC_MipsO32(), combineX86ShuffleChain(), getCopyFromParts(), getCopyToParts(), llvm::TargetLoweringBase::getTypeToPromoteTo(), getVCmpInst(), Insert128BitVector(), llvm::EVT::isFloatingPoint(), lowerVectorShuffle(), lowerVectorShuffleAsBitMask(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsUnpack(), lowerVectorShuffleByMerging128BitLanes(), and LowerVSETCC().
|
inline |
isInteger - Return true if this is an integer, or a vector integer type.
Definition at line 190 of file MachineValueType.h.
References FIRST_INTEGER_VALUETYPE, FIRST_INTEGER_VECTOR_VALUETYPE, LAST_INTEGER_VALUETYPE, LAST_INTEGER_VECTOR_VALUETYPE, and SimpleTy.
Referenced by llvm::TargetLoweringBase::computeRegisterProperties(), FindOptimalMemOpLowering(), getCopyFromParts(), llvm::RegsForValue::getCopyFromRegs(), getCopyToParts(), GetRegistersForValue(), llvm::TargetLoweringBase::getTypeToPromoteTo(), llvm::EVT::isInteger(), isValueTypeInRegForCC(), lower256BitVectorShuffle(), Lower256IntArith(), LowerADD(), LowerExtendedLoad(), LowerSUB(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBroadcast(), and llvm::TargetLowering::ParseConstraints().
|
inline |
|
inline |
isPow2VectorType - Returns true if the given vector is a power of 2.
Definition at line 259 of file MachineValueType.h.
References getVectorNumElements().
Referenced by getPow2VectorType().
|
inline |
isValid - Return true if this is a valid simple valuetype.
Definition at line 176 of file MachineValueType.h.
References FIRST_VALUETYPE, LAST_VALUETYPE, and SimpleTy.
Referenced by llvm::TargetLoweringBase::getIndexedLoadAction(), llvm::TargetLoweringBase::getIndexedStoreAction(), llvm::MipsTargetLowering::MipsTargetLowering(), llvm::TargetLoweringBase::setCondCodeAction(), llvm::TargetLoweringBase::setIndexedLoadAction(), llvm::TargetLoweringBase::setIndexedStoreAction(), llvm::TargetLoweringBase::setLoadExtAction(), and llvm::TargetLoweringBase::setTruncStoreAction().
|
inline |
isVector - Return true if this is a vector value type.
Definition at line 198 of file MachineValueType.h.
References FIRST_VECTOR_VALUETYPE, LAST_VECTOR_VALUETYPE, and SimpleTy.
Referenced by llvm::PPCTargetLowering::allowsMisalignedMemoryAccesses(), combineX86ShufflesRecursively(), convertLocVTToValVT(), convertValVTToLocVT(), getCopyFromParts(), llvm::RegsForValue::getCopyFromRegs(), getCopyToPartsVector(), getOnesVector(), getScalarType(), getScalarValueForVectorElement(), llvm::NVPTXTargetLowering::isTypeSupportedInIntrinsic(), isValueTypeInRegForCC(), llvm::EVT::isVector(), LowerBITCAST(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), LowerShift(), performConcatVectorsCombine(), and VerifyVectorType().
Definition at line 171 of file MachineValueType.h.
References SimpleTy.
Definition at line 169 of file MachineValueType.h.
References SimpleTy.
Definition at line 173 of file MachineValueType.h.
References SimpleTy.
Definition at line 170 of file MachineValueType.h.
References SimpleTy.
Definition at line 168 of file MachineValueType.h.
References SimpleTy.
Definition at line 172 of file MachineValueType.h.
References SimpleTy.
|
inlinestatic |
Definition at line 630 of file MachineValueType.h.
References FIRST_VECTOR_VALUETYPE, and LAST_VECTOR_VALUETYPE.
Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::HexagonTargetLowering::HexagonTargetLowering(), llvm::MipsSETargetLowering::MipsSETargetLowering(), llvm::NVPTXTargetLowering::NVPTXTargetLowering(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::SystemZTargetLowering::SystemZTargetLowering(), and llvm::X86TargetLowering::X86TargetLowering().
| SimpleValueType llvm::MVT::SimpleTy |
Definition at line 163 of file MachineValueType.h.
Referenced by AddCombineToVPADDL(), llvm::TargetLoweringBase::AddPromotedToType(), llvm::TargetLoweringBase::addRegisterClass(), llvm::MipsSETargetLowering::allowsMisalignedMemoryAccesses(), llvm::ARMTargetLowering::allowsMisalignedMemoryAccesses(), llvm::CC_ARM_AAPCS_Custom_Aggregate(), llvm::EVT::changeVectorElementTypeToInteger(), llvm::SelectionDAG::EVTToAPFloatSemantics(), FindOptimalMemOpLowering(), llvm::ARMTargetLowering::findRepresentativeClass(), llvm::X86TargetLowering::findRepresentativeClass(), llvm::TargetLoweringBase::findRepresentativeClass(), llvm::R600RegisterInfo::getCFGStructurizerRegClass(), llvm::SIRegisterInfo::getCFGStructurizerRegClass(), llvm::TargetLoweringBase::getCondCodeAction(), llvm::EVT::getEVTString(), getExtensionTo64Bits(), getImplicitScaleFactor(), llvm::TargetLoweringBase::getIndexedLoadAction(), llvm::TargetLoweringBase::getIndexedStoreAction(), llvm::EVT::getIntegerVT(), llvm::TargetLoweringBase::getLoadExtAction(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getOperationAction(), llvm::EVT::getRawBits(), llvm::TargetLoweringBase::getRegClassFor(), llvm::SITargetLowering::getRegForInlineAsmConstraint(), llvm::HexagonTargetLowering::getRegForInlineAsmConstraint(), llvm::X86TargetLowering::getRegForInlineAsmConstraint(), llvm::TargetLoweringBase::getRegisterType(), llvm::TargetLoweringBase::getRepRegClassCostFor(), llvm::TargetLoweringBase::getRepRegClassFor(), llvm::TargetLoweringBase::getSetCCResultType(), getSizeInBits(), llvm::TargetLoweringBase::getTruncStoreAction(), llvm::TargetLoweringBase::ValueTypeActionImpl::getTypeAction(), llvm::EVT::getTypeForEVT(), llvm::TargetLoweringBase::getTypeToPromoteTo(), llvm::SelectionDAG::getValueType(), getVectorElementType(), getVectorNumElements(), llvm::EVT::getVectorVT(), getVectorVT(), is1024BitVector(), is128BitVector(), is16BitVector(), is256BitVector(), is32Bit(), is32BitVector(), is512BitVector(), is64BitVector(), isDivRemLibcallAvailable(), isFloatingPoint(), llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::X86TargetLowering::isFMAFasterThanFMulAndFAdd(), isInteger(), isLegalAddressImmediate(), llvm::ARMTargetLowering::isLegalAddressingMode(), isLegalT1AddressImmediate(), isLegalT2AddressImmediate(), llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(), isOverloaded(), IsPTXVectorType(), llvm::EVT::isSimple(), isSinCosLibcallAvailable(), llvm::TargetLoweringBase::isTypeLegal(), isValid(), isValidIndexedLoad(), isVector(), llvm::XCoreTargetLowering::isZExtFree(), llvm::ARMTargetLowering::isZExtFree(), llvm::X86TargetLowering::isZExtFree(), lower128BitVectorShuffle(), lower256BitVectorShuffle(), lower512BitVectorShuffle(), LowerCMP_SWAP(), llvm::SystemZTargetLowering::LowerFormalArguments(), lowerVectorShuffleAsBlend(), matchIntegerMINMAX(), llvm::EVT::operator!=(), operator!=(), llvm::EVT::compareRawBits::operator()(), operator<(), operator<=(), operator==(), operator>(), operator>=(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::TargetLoweringBase::setCondCodeAction(), llvm::TargetLoweringBase::setIndexedLoadAction(), llvm::TargetLoweringBase::setIndexedStoreAction(), llvm::TargetLoweringBase::setLoadExtAction(), llvm::TargetLoweringBase::setOperationAction(), llvm::TargetLoweringBase::setTruncStoreAction(), llvm::TargetLoweringBase::ValueTypeActionImpl::setTypeAction(), llvm::X86InstrInfo::shouldScheduleLoadsNear(), X86ChooseCmpImmediateOpcode(), and X86ChooseCmpOpcode().
1.8.6