LLVM API Documentation
#include <MachineValueType.h>
Public Types | |
enum | SimpleValueType { INVALID_SIMPLE_VALUE_TYPE = -1, Other = 0, i1 = 1, i8 = 2, i16 = 3, i32 = 4, i64 = 5, i128 = 6, FIRST_INTEGER_VALUETYPE = i1, LAST_INTEGER_VALUETYPE = i128, f16 = 7, f32 = 8, f64 = 9, f80 = 10, f128 = 11, ppcf128 = 12, FIRST_FP_VALUETYPE = f16, LAST_FP_VALUETYPE = ppcf128, v2i1 = 13, v4i1 = 14, v8i1 = 15, v16i1 = 16, v32i1 = 17, v64i1 = 18, v1i8 = 19, v2i8 = 20, v4i8 = 21, v8i8 = 22, v16i8 = 23, v32i8 = 24, v64i8 = 25, v1i16 = 26, v2i16 = 27, v4i16 = 28, v8i16 = 29, v16i16 = 30, v32i16 = 31, v1i32 = 32, v2i32 = 33, v4i32 = 34, v8i32 = 35, v16i32 = 36, v1i64 = 37, v2i64 = 38, v4i64 = 39, v8i64 = 40, v16i64 = 41, FIRST_INTEGER_VECTOR_VALUETYPE = v2i1, LAST_INTEGER_VECTOR_VALUETYPE = v16i64, v2f16 = 42, v4f16 = 43, v8f16 = 44, v1f32 = 45, v2f32 = 46, v4f32 = 47, v8f32 = 48, v16f32 = 49, v1f64 = 50, v2f64 = 51, v4f64 = 52, v8f64 = 53, FIRST_FP_VECTOR_VALUETYPE = v2f16, LAST_FP_VECTOR_VALUETYPE = v8f64, FIRST_VECTOR_VALUETYPE = v2i1, LAST_VECTOR_VALUETYPE = v8f64, x86mmx = 54, Glue = 55, isVoid = 56, Untyped = 57, LAST_VALUETYPE = 58, MAX_ALLOWED_VALUETYPE = 64, Metadata = 250, iPTRAny = 251, vAny = 252, fAny = 253, iAny = 254, iPTR = 255 } |
Public Member Functions | |
MVT () | |
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 | isFloatingPoint () const |
isFloatingPoint - Return true if this is a FP, or a vector FP type. | |
bool | isInteger () const |
isInteger - Return true if this is an integer, or a vector integer type. | |
bool | isVector () const |
isVector - Return true if this is a vector value type. | |
bool | is16BitVector () const |
is16BitVector - Return true if this is a 16-bit vector type. | |
bool | is32BitVector () const |
is32BitVector - Return true if this is a 32-bit vector type. | |
bool | is64BitVector () const |
is64BitVector - Return true if this is a 64-bit vector type. | |
bool | is128BitVector () const |
is128BitVector - Return true if this is a 128-bit vector type. | |
bool | is256BitVector () const |
is256BitVector - Return true if this is a 256-bit vector type. | |
bool | is512BitVector () const |
is512BitVector - Return true if this is a 512-bit vector type. | |
bool | is1024BitVector () const |
is1024BitVector - Return true if this is a 1024-bit vector type. | |
bool | isOverloaded () const |
isOverloaded - Return true if this is an overloaded type for TableGen. | |
bool | isPow2VectorType () const |
isPow2VectorType - Returns true if the given vector is a power of 2. | |
MVT | getPow2VectorType () const |
MVT | getScalarType () const |
MVT | getVectorElementType () const |
unsigned | getVectorNumElements () const |
unsigned | getSizeInBits () const |
unsigned | getScalarSizeInBits () const |
unsigned | getStoreSize () const |
unsigned | getStoreSizeInBits () const |
bool | bitsGT (MVT VT) const |
Return true if this has more bits than VT. | |
bool | bitsGE (MVT VT) const |
Return true if this has no less bits than VT. | |
bool | bitsLT (MVT VT) const |
Return true if this has less bits than VT. | |
bool | bitsLE (MVT VT) const |
Return true if this has no more bits than VT. | |
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) |
Public Attributes | |
SimpleValueType | SimpleTy |
MVT - Machine Value Type. 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 28 of file MachineValueType.h.
Definition at line 30 of file MachineValueType.h.
llvm::MVT::MVT | ( | ) | [inline] |
Definition at line 158 of file MachineValueType.h.
Referenced by getVT().
llvm::MVT::MVT | ( | SimpleValueType | SVT | ) | [inline] |
Definition at line 159 of file MachineValueType.h.
bool llvm::MVT::bitsGE | ( | MVT | VT | ) | const [inline] |
Return true if this has no less bits than VT.
Definition at line 457 of file MachineValueType.h.
References getSizeInBits().
bool llvm::MVT::bitsGT | ( | MVT | VT | ) | const [inline] |
Return true if this has more bits than VT.
Definition at line 452 of file MachineValueType.h.
References getSizeInBits().
Referenced by LowerFCOPYSIGN().
bool llvm::MVT::bitsLE | ( | MVT | VT | ) | const [inline] |
Return true if this has no more bits than VT.
Definition at line 467 of file MachineValueType.h.
References getSizeInBits().
bool llvm::MVT::bitsLT | ( | MVT | VT | ) | const [inline] |
Return true if this has less bits than VT.
Definition at line 462 of file MachineValueType.h.
References getSizeInBits().
Referenced by LowerFCOPYSIGN().
static MVT llvm::MVT::getFloatingPointVT | ( | unsigned | BitWidth | ) | [inline, static] |
Definition at line 472 of file MachineValueType.h.
References f128, f16, f32, f64, f80, and llvm_unreachable.
Referenced by LowerVectorFP_TO_INT(), and LowerVectorINT_TO_FP().
static MVT llvm::MVT::getIntegerVT | ( | unsigned | BitWidth | ) | [inline, static] |
Definition at line 489 of file MachineValueType.h.
References i1, i128, i16, i32, i64, i8, and INVALID_SIMPLE_VALUE_TYPE.
Referenced by llvm::TargetLoweringBase::getPointerTy(), GetRegistersForValue(), llvm::TargetLoweringBase::getScalarShiftAmountTy(), getVT(), lowerFCOPYSIGN64(), memsetStore(), llvm::TargetLowering::ParseConstraints(), performExtendCombine(), ShrinkLoadReplaceStoreWithStore(), and SkipExtensionForVMULL().
MVT llvm::MVT::getPow2VectorType | ( | ) | const [inline] |
getPow2VectorType - Widens the length of the given vector MVT up to the nearest power of 2 and returns that type.
Definition at line 252 of file MachineValueType.h.
References getVectorElementType(), getVectorNumElements(), getVectorVT(), isPow2VectorType(), and llvm::Log2_32_Ceil().
Referenced by llvm::TargetLoweringBase::computeRegisterProperties().
unsigned llvm::MVT::getScalarSizeInBits | ( | ) | const [inline] |
Definition at line 435 of file MachineValueType.h.
References getScalarType(), and getSizeInBits().
Referenced by LowerExtendedLoad(), and lowerVectorShuffle().
MVT llvm::MVT::getScalarType | ( | ) | const [inline] |
getScalarType - If this is a vector type, return the element type, otherwise return this.
Definition at line 263 of file MachineValueType.h.
References getVectorElementType(), and isVector().
Referenced by llvm::TargetLoweringBase::computeRegisterProperties(), getScalarSizeInBits(), isUNPCKHMask(), isUNPCKLMask(), LowerAVXCONCAT_VECTORS(), LowerShift(), LowerSIGN_EXTEND(), splitAndLower256BitVectorShuffle(), and tryCombineShiftImm().
unsigned llvm::MVT::getSizeInBits | ( | ) | const [inline] |
Definition at line 363 of file MachineValueType.h.
References f128, f16, f32, f64, f80, fAny, i1, i128, i16, i32, i64, i8, iAny, iPTR, iPTRAny, llvm_unreachable, Metadata, Other, ppcf128, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, 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_HA(), CC_MipsO32(), CC_Sparc64_Full(), CC_Sparc64_Half(), llvm::EVT::changeVectorElementTypeToInteger(), combineX86ShufflesRecursively(), llvm::TargetLoweringBase::computeRegisterProperties(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), ExpandUnalignedLoad(), ExpandUnalignedStore(), llvm::FastISel::fastEmit_ri_(), FoldMaskAndShiftToScale(), getCopyFromParts(), getCopyToParts(), getCopyToPartsVector(), getExtractVEXTRACTImmediate(), getInsertVINSERTImmediate(), getNoopInput(), llvm::TargetLoweringBase::getNumRegisters(), llvm::NVPTXTargetLowering::getPrototype(), getPSHUFB(), llvm::ARMTargetLowering::getRegForInlineAsmConstraint(), GetRegistersForValue(), getScalarSizeInBits(), getShuffleAlignrImmediate(), getShuffleSHUFImmediate(), llvm::EVT::getSizeInBits(), getStoreSize(), getTargetVShiftByConstNode(), getTargetVShiftNode(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), isAlignrMask(), isHorizontalBinOp(), isPermImmMask(), isSHUFPMask(), isUNPCKH_v_undef_Mask(), isUNPCKHMask(), isUNPCKL_v_undef_Mask(), isUNPCKLMask(), isVEXTRACTIndex(), isVINSERTIndex(), isVPERMILPMask(), LowerAsSplatVectorLoad(), LowerBITCAST(), llvm::TargetLowering::LowerCallTo(), LowerCTLZ(), LowerCTLZ_ZERO_UNDEF(), LowerCTTZ(), LowerExtendedLoad(), LowerEXTRACT_VECTOR_ELT_SSE4(), LowerFABSorFNEG(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), lowerIntegerElementInsertionVectorShuffle(), LowerSCALAR_TO_VECTOR(), LowerShiftParts(), LowerVECTOR_SHUFFLEtoBlend(), LowerVectorBroadcast(), LowerVectorIntExtend(), lowerVectorShuffle(), lowerVectorShuffleAsByteRotate(), LowerVSELECTtoBlend(), llvm::TargetLowering::ParseConstraints(), performBitcastCombine(), PerformSTORECombine(), PerformVCVTCombine(), PerformVDIVCombine(), ShuffleCrosses128bitLane(), splitAndLower256BitVectorShuffle(), and tryCombineShiftImm().
unsigned llvm::MVT::getStoreSize | ( | ) | const [inline] |
getStoreSize - Return the number of bytes overwritten by a store of the specified value type.
Definition at line 441 of file MachineValueType.h.
References getSizeInBits().
Referenced by allocateStack(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), getStoreSizeInBits(), llvm::SITargetLowering::LowerFormalArguments(), and NarrowVectorLoadToElement().
unsigned llvm::MVT::getStoreSizeInBits | ( | ) | const [inline] |
getStoreSizeInBits - Return the number of bits overwritten by a store of the specified value type.
Definition at line 447 of file MachineValueType.h.
References getStoreSize().
Referenced by llvm::HexagonTargetLowering::LowerFormalArguments().
MVT llvm::MVT::getVectorElementType | ( | ) | const [inline] |
Definition at line 267 of file MachineValueType.h.
References f16, f32, f64, i1, i16, i32, i64, i8, llvm_unreachable, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, 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(), getINSERTPS(), getInsertVINSERTImmediate(), getPow2VectorType(), getPSHUFB(), getScalarType(), getShuffleAlignrImmediate(), getShuffleScalarElt(), getTargetVShiftByConstNode(), getTargetVShiftNode(), llvm::TargetLoweringBase::getTypeConversion(), getUnderlyingExtractedFromVec(), llvm::EVT::getVectorElementType(), getVectorTypeBreakdownMVT(), isBlendMask(), isPermImmMask(), isSHUFPMask(), llvm::NVPTXTargetLowering::isTypeSupportedInIntrinsic(), isVEXTRACTIndex(), isVINSERTIndex(), isVPERMILPMask(), Lower256IntArith(), Lower256IntVSETCC(), LowerAVXExtend(), LowerBITCAST(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), lowerIntegerElementInsertionVectorShuffle(), LowerSCALAR_TO_VECTOR(), LowerScalarVariableShift(), LowerShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEtoBlend(), LowerVectorIntExtend(), LowerVSELECTtoBlend(), LowerVSETCC(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), NarrowVectorLoadToElement(), performConcatVectorsCombine(), PerformVCVTCombine(), PerformVDIVCombine(), PromoteSplat(), ShuffleCrosses128bitLane(), TransformVSELECTtoBlendVECTOR_SHUFFLE(), and tryExtendDUPToExtractHigh().
unsigned llvm::MVT::getVectorNumElements | ( | ) | const [inline] |
Definition at line 315 of file MachineValueType.h.
References llvm_unreachable, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, 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::DecodeMOVSHDUPMask(), llvm::DecodeMOVSLDUPMask(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFHWMask(), llvm::DecodePSHUFLWMask(), llvm::DecodePSHUFMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::DecodeVPERM2X128Mask(), llvm::SelectionDAG::getCommutedVectorShuffle(), getCopyToPartsVector(), getGatherNode(), getMOVLP(), getPow2VectorType(), getPrefetchNode(), getPSHUFB(), getScatterNode(), getShuffleAlignrImmediate(), getShufflePSHUFHWImmediate(), getShufflePSHUFLWImmediate(), getShuffleScalarElt(), getShuffleSHUFImmediate(), getShuffleVectorZeroOrUndef(), getShuffleVPERM2X128Immediate(), getTargetShuffleMask(), llvm::TargetLoweringBase::getTypeConversion(), getUnderlyingExtractedFromVec(), getUnpackh(), getUnpackl(), llvm::EVT::getVectorNumElements(), getVectorTypeBreakdownMVT(), isAlignrMask(), isBlendMask(), isCommutedMOVLMask(), isHorizontalBinOp(), isINSERT64x4Mask(), isINSERTPSMask(), isMOVDDUPMask(), isMOVDDUPYMask(), isMOVHLPS_v_undef_Mask(), isMOVHLPSMask(), isMOVLHPSMask(), isMOVLPMask(), isMOVSHDUPMask(), isMOVSLDUPMask(), isPermImmMask(), isPow2VectorType(), isSHUFPMask(), isUNPCKH_v_undef_Mask(), isUNPCKHMask(), isUNPCKL_v_undef_Mask(), isUNPCKLMask(), isVectorShiftLeft(), isVectorShiftRight(), isVPERM2X128Mask(), isVPERMILPMask(), Lower256IntArith(), Lower256IntVSETCC(), LowerAsSplatVectorLoad(), LowerAVXCONCAT_VECTORS(), LowerAVXExtend(), LowerBITCAST(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), lowerIntegerElementInsertionVectorShuffle(), LowerSCALAR_TO_VECTOR(), LowerScalarImmediateShift(), LowerScalarVariableShift(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEtoBlend(), LowerVectorBroadcast(), LowerVectorIntExtend(), lowerVectorShuffle(), lowerVectorShuffleAsBlend(), LowerVSELECTtoBlend(), LowerVSETCC(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), performConcatVectorsCombine(), PromoteSplat(), PromoteSplati8i16(), RewriteAsNarrowerShuffle(), ShouldXformToMOVHLPS(), ShouldXformToMOVLP(), splitAndLower256BitVectorShuffle(), TransformVSELECTtoBlendVECTOR_SHUFFLE(), and tryExtendDUPToExtractHigh().
static MVT llvm::MVT::getVectorVT | ( | MVT | VT, |
unsigned | NumElements | ||
) | [inline, static] |
Definition at line 508 of file MachineValueType.h.
References f16, f32, f64, i1, i16, i32, i64, i8, INVALID_SIMPLE_VALUE_TYPE, SimpleTy, v16f32, v16i1, v16i16, v16i32, v16i64, v16i8, v1f32, v1f64, 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(), getPow2VectorType(), llvm::SITargetLowering::getSetCCResultType(), llvm::TargetLoweringBase::getTypeConversion(), getVectorTypeBreakdownMVT(), getVT(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), LowerVectorFP_TO_INT(), LowerVectorINT_TO_FP(), NarrowVector(), WidenVector::operator()(), performConcatVectorsCombine(), performExtendCombine(), SkipExtensionForVMULL(), tryExtendDUPToExtractHigh(), and WidenVector().
MVT MVT::getVT | ( | Type * | Ty, |
bool | HandleUnknown = false |
||
) | [static] |
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.
Return the value type corresponding to the specified type. This returns all pointers as MVT::iPTR. If HandleUnknown is true, unknown types are returned as Other, otherwise they are invalid.
Definition at line 247 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().
bool llvm::MVT::is1024BitVector | ( | ) | const [inline] |
is1024BitVector - Return true if this is a 1024-bit vector type.
Definition at line 234 of file MachineValueType.h.
References SimpleTy, and v16i64.
Referenced by llvm::EVT::is1024BitVector().
bool llvm::MVT::is128BitVector | ( | ) | const [inline] |
is128BitVector - Return true if this is a 128-bit vector type.
Definition at line 212 of file MachineValueType.h.
References SimpleTy, v16i8, v2f64, v2i64, v4f32, v4i32, v8f16, and v8i16.
Referenced by getLegalSplat(), getOnesVector(), getPSHUFB(), llvm::EVT::is128BitVector(), isCommutedMOVLMask(), isHorizontalBinOp(), isINSERTPSMask(), isMOVDDUPMask(), isMOVHLPS_v_undef_Mask(), isMOVHLPSMask(), isMOVLHPSMask(), isMOVLPMask(), isMOVSHDUPMask(), isMOVSLDUPMask(), isPALIGNRMask(), isPermImmMask(), isUNPCKH_v_undef_Mask(), isUNPCKL_v_undef_Mask(), isVectorShift(), LowerEXTRACT_SUBVECTOR(), LowerEXTRACT_VECTOR_ELT_SSE4(), LowerINSERT_SUBVECTOR(), LowerSCALAR_TO_VECTOR(), LowerVECTOR_SHUFFLE_128v4(), LowerVectorBroadcast(), LowerZERO_EXTEND(), performAddSubLongCombine(), PromoteSplat(), ShouldXformToMOVHLPS(), and ShouldXformToMOVLP().
bool llvm::MVT::is16BitVector | ( | ) | const [inline] |
is16BitVector - Return true if this is a 16-bit vector type.
Definition at line 191 of file MachineValueType.h.
References SimpleTy, v16i1, v1i16, and v2i8.
Referenced by llvm::EVT::is16BitVector().
bool llvm::MVT::is256BitVector | ( | ) | const [inline] |
is256BitVector - Return true if this is a 256-bit vector type.
Definition at line 220 of file MachineValueType.h.
References SimpleTy, v16i16, v32i8, v4f64, v4i64, v8f32, and v8i32.
Referenced by getLegalSplat(), getOnesVector(), getPSHUFB(), llvm::EVT::is256BitVector(), isHorizontalBinOp(), isMOVDDUPYMask(), isMOVSHDUPMask(), isMOVSLDUPMask(), isPALIGNRMask(), isPermImmMask(), isUNPCKH_v_undef_Mask(), isUNPCKHMask(), isUNPCKL_v_undef_Mask(), isUNPCKLMask(), isVPERM2X128Mask(), Lower256IntArith(), Lower256IntVSETCC(), LowerADD(), LowerAVXCONCAT_VECTORS(), LowerEXTRACT_SUBVECTOR(), LowerINSERT_SUBVECTOR(), LowerMUL(), LowerSUB(), LowerVectorBroadcast(), LowerVectorIntExtend(), LowerVSETCC(), LowerZERO_EXTEND(), and PromoteSplat().
bool llvm::MVT::is32BitVector | ( | ) | const [inline] |
is32BitVector - Return true if this is a 32-bit vector type.
Definition at line 197 of file MachineValueType.h.
References SimpleTy, v1f32, v1i32, v2f16, v2i16, and v4i8.
Referenced by llvm::EVT::is32BitVector().
bool llvm::MVT::is512BitVector | ( | ) | const [inline] |
is512BitVector - Return true if this is a 512-bit vector type.
Definition at line 227 of file MachineValueType.h.
References SimpleTy, v16f32, v16i32, v32i16, v64i8, v8f64, and v8i64.
Referenced by getShuffleAlignrImmediate(), llvm::EVT::is512BitVector(), isBlendMask(), isINSERT64x4Mask(), isMOVSHDUPMask(), isMOVSLDUPMask(), isPALIGNRMask(), isUNPCKH_v_undef_Mask(), isUNPCKHMask(), isUNPCKL_v_undef_Mask(), isUNPCKLMask(), isVALIGNMask(), LowerAVXCONCAT_VECTORS(), LowerEXTRACT_SUBVECTOR(), LowerINSERT_SUBVECTOR(), LowerSIGN_EXTEND(), LowerSIGN_EXTEND_AVX512(), LowerVectorBroadcast(), LowerVSELECTtoBlend(), LowerZERO_EXTEND(), LowerZERO_EXTEND_AVX512(), and TransformVSELECTtoBlendVECTOR_SHUFFLE().
bool llvm::MVT::is64BitVector | ( | ) | const [inline] |
is64BitVector - Return true if this is a 64-bit vector type.
Definition at line 204 of file MachineValueType.h.
References SimpleTy, v1f64, v1i64, v2f32, v2i32, v4f16, v4i16, and v8i8.
Referenced by llvm::EVT::is64BitVector(), and tryExtendDUPToExtractHigh().
bool llvm::MVT::isFloatingPoint | ( | ) | const [inline] |
isFloatingPoint - Return true if this is a FP, or a vector FP type.
Definition at line 169 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(), llvm::EVT::isFloatingPoint(), lowerVectorShuffleAsBlend(), and LowerVSETCC().
bool llvm::MVT::isInteger | ( | ) | const [inline] |
isInteger - Return true if this is an integer, or a vector integer type.
Definition at line 177 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(), getCopyToParts(), GetRegistersForValue(), llvm::TargetLoweringBase::getTypeToPromoteTo(), llvm::EVT::isInteger(), Lower256IntArith(), LowerADD(), LowerExtendedLoad(), LowerSUB(), LowerVectorIntExtend(), lowerVectorShuffle(), and llvm::TargetLowering::ParseConstraints().
bool llvm::MVT::isOverloaded | ( | ) | const [inline] |
bool llvm::MVT::isPow2VectorType | ( | ) | const [inline] |
isPow2VectorType - Returns true if the given vector is a power of 2.
Definition at line 245 of file MachineValueType.h.
References getVectorNumElements().
Referenced by getPow2VectorType().
bool llvm::MVT::isVector | ( | ) | const [inline] |
isVector - Return true if this is a vector value type.
Definition at line 185 of file MachineValueType.h.
References FIRST_VECTOR_VALUETYPE, LAST_VECTOR_VALUETYPE, and SimpleTy.
Referenced by llvm::PPCTargetLowering::allowsMisalignedMemoryAccesses(), combineX86ShufflesRecursively(), getCopyFromParts(), getCopyToPartsVector(), getOnesVector(), getScalarType(), llvm::NVPTXTargetLowering::isTypeSupportedInIntrinsic(), llvm::EVT::isVector(), LowerBITCAST(), LowerExtendedLoad(), LowerFABSorFNEG(), llvm::SITargetLowering::LowerFormalArguments(), LowerShift(), and performConcatVectorsCombine().
Definition at line 164 of file MachineValueType.h.
References SimpleTy.
Definition at line 162 of file MachineValueType.h.
References SimpleTy.
Definition at line 166 of file MachineValueType.h.
References SimpleTy.
Definition at line 163 of file MachineValueType.h.
References SimpleTy.
Definition at line 161 of file MachineValueType.h.
References SimpleTy.
Definition at line 165 of file MachineValueType.h.
References SimpleTy.
Definition at line 156 of file MachineValueType.h.
Referenced by AddCombineToVPADDL(), llvm::TargetLoweringBase::AddPromotedToType(), llvm::TargetLoweringBase::addRegisterClass(), llvm::MipsSETargetLowering::allowsMisalignedMemoryAccesses(), llvm::ARMTargetLowering::allowsMisalignedMemoryAccesses(), llvm::CC_ARM_AAPCS_Custom_HA(), llvm::EVT::changeVectorElementTypeToInteger(), llvm::SelectionDAG::EVTToAPFloatSemantics(), FindOptimalMemOpLowering(), llvm::ARMTargetLowering::findRepresentativeClass(), llvm::TargetLoweringBase::findRepresentativeClass(), llvm::R600RegisterInfo::getCFGStructurizerRegClass(), llvm::SIRegisterInfo::getCFGStructurizerRegClass(), llvm::TargetLoweringBase::getCondCodeAction(), llvm::EVT::getEVTString(), getExtensionTo64Bits(), 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::HexagonTargetLowering::getRegForInlineAsmConstraint(), llvm::TargetLoweringBase::getRegisterType(), llvm::TargetLoweringBase::getRepRegClassCostFor(), llvm::TargetLoweringBase::getRepRegClassFor(), llvm::TargetLoweringBase::getSetCCResultType(), getSizeInBits(), llvm::TargetLoweringBase::getTruncStoreAction(), llvm::TargetLoweringBase::ValueTypeActionImpl::getTypeAction(), llvm::TargetLoweringBase::getTypeConversion(), 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::SystemZTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64TargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), isInteger(), isLegalAddressImmediate(), llvm::ARMTargetLowering::isLegalAddressingMode(), isLegalT1AddressImmediate(), isLegalT2AddressImmediate(), llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(), isOverloaded(), IsPTXVectorType(), llvm::EVT::isSimple(), isSinCosLibcallAvailable(), llvm::TargetLoweringBase::isTypeLegal(), isValidIndexedLoad(), isVector(), llvm::XCoreTargetLowering::isZExtFree(), llvm::ARMTargetLowering::isZExtFree(), lower128BitVectorShuffle(), lower256BitVectorShuffle(), LowerCMP_SWAP(), llvm::SystemZTargetLowering::LowerFormalArguments(), LowerScalarVariableShift(), matchIntegerMINMAX(), llvm::EVT::operator!=(), operator!=(), llvm::EVT::compareRawBits::operator()(), operator<(), operator<=(), operator==(), operator>(), operator>=(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), RewriteAsNarrowerShuffle(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::TargetLoweringBase::setCondCodeAction(), llvm::TargetLoweringBase::setIndexedLoadAction(), llvm::TargetLoweringBase::setIndexedStoreAction(), llvm::TargetLoweringBase::setLoadExtAction(), llvm::TargetLoweringBase::setOperationAction(), llvm::TargetLoweringBase::setTruncStoreAction(), llvm::TargetLoweringBase::ValueTypeActionImpl::setTypeAction(), X86ChooseCmpImmediateOpcode(), and X86ChooseCmpOpcode().