LLVM API Documentation
Enumerations | |
enum | ValueType { Other = 0, i1 = 1, i8 = 2, i16 = 3, i32 = 4, i64 = 5, i128 = 6, f32 = 7, f64 = 8, f80 = 9, f128 = 10, Flag = 11, isVoid = 12, Vector = 13, v8i8 = 14, v4i16 = 15, v2i32 = 16, v16i8 = 17, v8i16 = 18, v4i32 = 19, v2i64 = 20, v2f32 = 21, v4f32 = 22, v2f64 = 23, FIRST_VECTOR_VALUETYPE = v8i8, LAST_VECTOR_VALUETYPE = v2f64, LAST_VALUETYPE = 24, iPTR = 255 } |
Functions | |
static bool | isInteger (ValueType VT) |
static bool | isFloatingPoint (ValueType VT) |
static bool | isVector (ValueType VT) |
static unsigned | getSizeInBits (ValueType VT) |
ValueType | getVectorType (ValueType VT, unsigned NumElements) |
static ValueType | getVectorBaseType (ValueType VT) |
static unsigned | getVectorNumElements (ValueType VT) |
static ValueType | getIntVectorWithNumElements (unsigned NumElts) |
static uint64_t | getIntVTBitMask (ValueType VT) |
static uint64_t | getIntVTSignBit (ValueType VT) |
const char * | getValueTypeString (ValueType VT) |
const Type * | getTypeForValueType (ValueType VT) |
enum llvm::MVT::ValueType |
Other | |
i1 | |
i8 | |
i16 | |
i32 | |
i64 | |
i128 | |
f32 | |
f64 | |
f80 | |
f128 | |
Flag | |
isVoid | |
Vector | |
v8i8 | |
v4i16 | |
v2i32 | |
v16i8 | |
v8i16 | |
v4i32 | |
v2i64 | |
v2f32 | |
v4f32 | |
v2f64 | |
FIRST_VECTOR_VALUETYPE | |
LAST_VECTOR_VALUETYPE | |
LAST_VALUETYPE | |
iPTR |
Definition at line 29 of file ValueTypes.h.
static ValueType llvm::MVT::getIntVectorWithNumElements | ( | unsigned | NumElts | ) | [inline, static] |
MVT::getIntVectorWithNumElements - Return any integer vector type that has the specified number of elements.
Definition at line 163 of file ValueTypes.h.
References v16i8, v2i32, v4i16, and v8i8.
Referenced by getMOVLMask(), getShuffleVectorZeroOrUndef(), getUnpackhMask(), getUnpacklMask(), and PromoteSplat().
static uint64_t llvm::MVT::getIntVTBitMask | ( | ValueType | VT | ) | [inline, static] |
MVT::getIntVTBitMask - Return an integer with 1's every place there are bits in the specified integer value type.
Definition at line 176 of file ValueTypes.h.
References getSizeInBits(), isInteger(), and isVector().
Referenced by llvm::TargetLowering::ComputeMaskedBits(), llvm::X86TargetLowering::computeMaskedBitsForTargetNode(), llvm::TargetLowering::ComputeNumSignBits(), llvm::SelectionDAG::getNode(), llvm::ConstantSDNode::isAllOnesValue(), and llvm::TargetLowering::SimplifyDemandedBits().
static uint64_t llvm::MVT::getIntVTSignBit | ( | ValueType | VT | ) | [inline, static] |
MVT::getIntVTSignBit - Return an integer with a 1 in the position of the sign bit for the specified integer value type.
Definition at line 182 of file ValueTypes.h.
References getSizeInBits(), isInteger(), and isVector().
Referenced by llvm::TargetLowering::ComputeMaskedBits(), llvm::TargetLowering::ComputeNumSignBits(), and llvm::TargetLowering::SimplifyDemandedBits().
static unsigned llvm::MVT::getSizeInBits | ( | ValueType | VT | ) | [inline, static] |
MVT::getSizeInBits - Return the size of the specified value type in bits.
Definition at line 93 of file ValueTypes.h.
References f128, f32, f64, f80, i1, i128, i16, i32, i64, i8, v16i8, v2f32, v2f64, v2i32, v2i64, v4f32, v4i16, v4i32, v8i16, and v8i8.
Referenced by llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::ComputeMaskedBits(), llvm::TargetLowering::ComputeNumSignBits(), llvm::PPC::get_VSPLTI_elt(), llvm::SelectionDAG::getConstant(), GetConstantBuildVectorBits(), getIntVTBitMask(), getIntVTSignBit(), getMemsetStringVal(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::getPackedTypeBreakdown(), llvm::ConstantSDNode::getSignExtended(), llvm::SelectionDAG::getTargetConstant(), llvm::SelectionDAG::getZeroExtendInReg(), isAllocatableRegister(), llvm::X86TargetLowering::isShuffleMaskLegal(), llvm::X86TargetLowering::isVectorClearMaskLegal(), llvm::TargetLowering::LowerArguments(), LowerCALL(), llvm::TargetLowering::LowerCallTo(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), llvm::IA64TargetLowering::LowerOperation(), LowerSETCC(), LowerVECTOR_SHUFFLE(), MeetsMaxMemopRequirement(), PerformShuffleCombine(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::SelectionDAGLowering::visitJumpTable(), and llvm::SelectionDAGLowering::visitMemIntrinsic().
const Type * llvm::MVT::getTypeForValueType | ( | MVT::ValueType | VT | ) |
MVT::getTypeForValueType - This method returns an LLVM type corresponding to the specified ValueType. For integer types, this returns an unsigned type. Note that this will abort for types that cannot be represented.
Definition at line 86 of file ValueTypes.cpp.
References llvm::Type::BoolTy, llvm::Type::DoubleTy, f32, f64, llvm::Type::FloatTy, i1, i16, i32, i64, i8, isVoid, llvm::Type::UByteTy, llvm::Type::UIntTy, llvm::Type::ULongTy, llvm::Type::UShortTy, and llvm::Type::VoidTy.
const char * llvm::MVT::getValueTypeString | ( | MVT::ValueType | VT | ) |
MVT::getValueTypeString - This function returns value type as a string, e.g. "i32".
Definition at line 20 of file ValueTypes.cpp.
References f128, f32, f64, f80, Flag, i1, i128, i16, i32, i64, i8, isVoid, Other, v16i8, v2f64, v2i32, v2i64, v4f32, v4i16, v4i32, v8i16, v8i8, and Vector.
Referenced by llvm::SDNode::dump().
static ValueType llvm::MVT::getVectorBaseType | ( | ValueType | VT | ) | [inline, static] |
MVT::getVectorBaseType - Given a packed vector type, return the type of each element.
Definition at line 127 of file ValueTypes.h.
References f32, f64, i16, i32, i64, i8, v16i8, v2f32, v2f64, v2i32, v2i64, v4f32, v4i16, v4i32, v8i16, and v8i8.
Referenced by BuildSplatI(), CommuteVectorShuffle(), getMOVLMask(), llvm::SelectionDAG::getNode(), getShuffleScalarElt(), getShuffleVectorZeroOrUndef(), getUnpackhMask(), getUnpacklMask(), getZeroVector(), LowerVECTOR_SHUFFLE(), and PerformShuffleCombine().
static unsigned llvm::MVT::getVectorNumElements | ( | ValueType | VT | ) | [inline, static] |
MVT::getVectorNumElements - Given a packed vector type, return the number of elements it contains.
Definition at line 145 of file ValueTypes.h.
References v16i8, v2f32, v2f64, v2i32, v2i64, v4f32, v4i16, v4i32, v8i16, and v8i8.
Referenced by BuildSplatI(), llvm::SelectionDAG::getNode(), and getZeroVector().
MVT::ValueType llvm::MVT::getVectorType | ( | ValueType | VT, | |
unsigned | NumElements | |||
) |
MVT::getVectorType - Returns the ValueType that represents a vector NumElements in length, where each element is of type VT. If there is no ValueType that represents this vector, a ValueType of Other is returned.
Definition at line 53 of file ValueTypes.cpp.
References f32, f64, i16, i32, i64, i8, Other, v16i8, v2f32, v2f64, v2i32, v2i64, v4f32, v4i16, v4i32, v8i16, and v8i8.
Referenced by llvm::FunctionLoweringInfo::CreateRegForValue(), llvm::TargetLowering::getPackedTypeBreakdown(), llvm::TargetLowering::LowerArguments(), llvm::TargetLowering::LowerCallTo(), and llvm::SelectionDAGLowering::visitTargetIntrinsic().
static bool llvm::MVT::isFloatingPoint | ( | ValueType | VT | ) | [inline, static] |
MVT::isFloatingPoint - Return true if this is a simple FP, or a packed vector FP type.
Definition at line 81 of file ValueTypes.h.
References f128, f32, v2f64, and v4f32.
Referenced by llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetConstantFP(), llvm::TargetLowering::getTypeToPromoteTo(), getZeroVector(), llvm::BinaryOperator::init(), llvm::TargetLowering::LowerArguments(), llvm::TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), LowerFP_TO_SINT(), llvm::AlphaTargetLowering::LowerOperation(), LowerRET(), LowerSELECT_CC(), SetValueTypeAction(), and llvm::SelectionDAGLowering::visitCast().
static bool llvm::MVT::isInteger | ( | ValueType | VT | ) | [inline, static] |
MVT::isInteger - Return true if this is a simple integer, or a packed vector integer type.
Definition at line 75 of file ValueTypes.h.
References i1, i128, v2i64, and v8i8.
Referenced by llvm::TargetLowering::ComputeNumSignBits(), llvm::TargetLowering::computeRegisterProperties(), llvm::SelectionDAG::getConstant(), getIntVTBitMask(), getIntVTSignBit(), llvm::SelectionDAG::getNode(), getScalarizedOpcode(), llvm::SelectionDAG::getTargetConstant(), llvm::TargetLowering::getTypeToPromoteTo(), llvm::BinaryOperator::init(), llvm::TargetLowering::LowerArguments(), llvm::TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerRET(), LowerSETCC(), MeetsMaxMemopRequirement(), llvm::SelectionDAGISel::runOnFunction(), SetValueTypeAction(), llvm::SelectionDAGLowering::visitCast(), llvm::SelectionDAGLowering::visitInlineAsm(), and llvm::SelectionDAGLowering::visitUserOp2().
static bool llvm::MVT::isVector | ( | ValueType | VT | ) | [inline, static] |
MVT::isVector - Return true if this is a packed vector type (i.e. not MVT::Vector).
Definition at line 87 of file ValueTypes.h.
References FIRST_VECTOR_VALUETYPE, and LAST_VECTOR_VALUETYPE.
Referenced by llvm::SelectionDAG::getConstant(), getIntVTBitMask(), getIntVTSignBit(), llvm::SelectionDAG::getNode(), getZeroVector(), and LowerRET().