class MVT
Declaration
class MVT { /* full declaration omitted */ };Description
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.
Declared at: llvm/include/llvm/Support/MachineValueType.h:30
Member Variables
- public llvm::MVT::SimpleValueType SimpleTy = INVALID_SIMPLE_VALUE_TYPE
Method Overview
- public constexpr MVT(llvm::MVT::SimpleValueType SVT)
- public MVT()
- public static llvm::MVT::mvt_range all_valuetypes()
- public bool bitsGE(llvm::MVT VT) const
- public bool bitsGT(llvm::MVT VT) const
- public bool bitsLE(llvm::MVT VT) const
- public bool bitsLT(llvm::MVT VT) const
- public static llvm::MVT::mvt_range fixedlen_vector_valuetypes()
- public static llvm::MVT::mvt_range fp_fixedlen_vector_valuetypes()
- public static llvm::MVT::mvt_range fp_scalable_vector_valuetypes()
- public static llvm::MVT::mvt_range fp_valuetypes()
- public static llvm::MVT getFloatingPointVT(unsigned int BitWidth)
- public llvm::MVT getHalfNumVectorElementsVT() const
- public static llvm::MVT getIntegerVT(unsigned int BitWidth)
- public llvm::MVT getPow2VectorType() const
- public static llvm::MVT getScalableVectorVT(llvm::MVT VT, unsigned int NumElements)
- public llvm::TypeSize getScalarSizeInBits() const
- public llvm::MVT getScalarType() const
- public llvm::TypeSize getSizeInBits() const
- public llvm::TypeSize getStoreSize() const
- public llvm::TypeSize getStoreSizeInBits() const
- public static llvm::MVT getVT(llvm::Type * Ty, bool HandleUnknown = false)
- public llvm::ElementCount getVectorElementCount() const
- public llvm::MVT getVectorElementType() const
- public unsigned int getVectorNumElements() const
- public static llvm::MVT getVectorVT(llvm::MVT VT, llvm::ElementCount EC)
- public static llvm::MVT getVectorVT(llvm::MVT VT, unsigned int NumElements)
- public static llvm::MVT getVectorVT(llvm::MVT VT, unsigned int NumElements, bool IsScalable)
- public static llvm::MVT::mvt_range integer_fixedlen_vector_valuetypes()
- public static llvm::MVT::mvt_range integer_scalable_vector_valuetypes()
- public static llvm::MVT::mvt_range integer_valuetypes()
- public bool is1024BitVector() const
- public bool is128BitVector() const
- public bool is16BitVector() const
- public bool is2048BitVector() const
- public bool is256BitVector() const
- public bool is32BitVector() const
- public bool is512BitVector() const
- public bool is64BitVector() const
- public bool isByteSized() const
- public bool isFixedLengthVector() const
- public bool isFloatingPoint() const
- public bool isInteger() const
- public bool isOverloaded() const
- public bool isPow2VectorType() const
- public bool isScalableVector() const
- public bool isScalarInteger() const
- public bool isValid() const
- public bool isVector() const
- public static llvm::MVT::mvt_range scalable_vector_valuetypes()
- public static llvm::MVT::mvt_range vector_valuetypes()
Methods
¶constexpr MVT(llvm::MVT::SimpleValueType SVT)
constexpr MVT(llvm::MVT::SimpleValueType SVT)Declared at: llvm/include/llvm/Support/MachineValueType.h:268
Parameters
- llvm::MVT::SimpleValueType SVT
¶MVT()
MVT()Declared at: llvm/include/llvm/Support/MachineValueType.h:267
¶static llvm::MVT::mvt_range all_valuetypes()
static llvm::MVT::mvt_range all_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1125
¶bool bitsGE(llvm::MVT VT) const
bool bitsGE(llvm::MVT VT) constDescription
Return true if this has no less bits than VT.
Declared at: llvm/include/llvm/Support/MachineValueType.h:868
Parameters
- llvm::MVT VT
¶bool bitsGT(llvm::MVT VT) const
bool bitsGT(llvm::MVT VT) constDescription
Return true if this has more bits than VT.
Declared at: llvm/include/llvm/Support/MachineValueType.h:863
Parameters
- llvm::MVT VT
¶bool bitsLE(llvm::MVT VT) const
bool bitsLE(llvm::MVT VT) constDescription
Return true if this has no more bits than VT.
Declared at: llvm/include/llvm/Support/MachineValueType.h:878
Parameters
- llvm::MVT VT
¶bool bitsLT(llvm::MVT VT) const
bool bitsLT(llvm::MVT VT) constDescription
Return true if this has less bits than VT.
Declared at: llvm/include/llvm/Support/MachineValueType.h:873
Parameters
- llvm::MVT VT
¶static llvm::MVT::mvt_range
fixedlen_vector_valuetypes()
static llvm::MVT::mvt_range
fixedlen_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1144
¶static llvm::MVT::mvt_range
fp_fixedlen_vector_valuetypes()
static llvm::MVT::mvt_range
fp_fixedlen_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1162
¶static llvm::MVT::mvt_range
fp_scalable_vector_valuetypes()
static llvm::MVT::mvt_range
fp_scalable_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1174
¶static llvm::MVT::mvt_range fp_valuetypes()
static llvm::MVT::mvt_range fp_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1134
¶static llvm::MVT getFloatingPointVT(
unsigned int BitWidth)
static llvm::MVT getFloatingPointVT(
unsigned int BitWidth)Declared at: llvm/include/llvm/Support/MachineValueType.h:882
Parameters
- unsigned int BitWidth
¶llvm::MVT getHalfNumVectorElementsVT() const
llvm::MVT getHalfNumVectorElementsVT() constDescription
Return a VT for a vector type with the same element type but half the number of elements.
Declared at: llvm/include/llvm/Support/MachineValueType.h:395
¶static llvm::MVT getIntegerVT(
unsigned int BitWidth)
static llvm::MVT getIntegerVT(
unsigned int BitWidth)Declared at: llvm/include/llvm/Support/MachineValueType.h:899
Parameters
- unsigned int BitWidth
¶llvm::MVT getPow2VectorType() const
llvm::MVT getPow2VectorType() constDescription
Widens the length of the given vector MVT up to the nearest power of 2 and returns that type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:410
¶static llvm::MVT getScalableVectorVT(
llvm::MVT VT,
unsigned int NumElements)
static llvm::MVT getScalableVectorVT(
llvm::MVT VT,
unsigned int NumElements)Declared at: llvm/include/llvm/Support/MachineValueType.h:1018
Parameters
- llvm::MVT VT
- unsigned int NumElements
¶llvm::TypeSize getScalarSizeInBits() const
llvm::TypeSize getScalarSizeInBits() constDeclared at: llvm/include/llvm/Support/MachineValueType.h:831
¶llvm::MVT getScalarType() const
llvm::MVT getScalarType() constDescription
If this is a vector, return the element type, otherwise return this.
Declared at: llvm/include/llvm/Support/MachineValueType.h:420
¶llvm::TypeSize getSizeInBits() const
llvm::TypeSize getSizeInBits() constDescription
Returns the size of the specified MVT in bits. If the value type is a scalable vector type, the scalable property will be set and the runtime size will be a positive integer multiple of the base size.
Declared at: llvm/include/llvm/Support/MachineValueType.h:679
¶llvm::TypeSize getStoreSize() const
llvm::TypeSize getStoreSize() constDescription
Return the number of bytes overwritten by a store of the specified value type. If the value type is a scalable vector type, the scalable property will be set and the runtime size will be a positive integer multiple of the base size.
Declared at: llvm/include/llvm/Support/MachineValueType.h:841
¶llvm::TypeSize getStoreSizeInBits() const
llvm::TypeSize getStoreSizeInBits() constDescription
Return the number of bits overwritten by a store of the specified value type. If the value type is a scalable vector type, the scalable property will be set and the runtime size will be a positive integer multiple of the base size.
Declared at: llvm/include/llvm/Support/MachineValueType.h:852
¶static llvm::MVT getVT(llvm::Type* Ty,
bool HandleUnknown = false)
static llvm::MVT getVT(llvm::Type* Ty,
bool HandleUnknown = false)Description
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.
Declared at: llvm/include/llvm/Support/MachineValueType.h:1099
Parameters
- llvm::Type* Ty
- bool HandleUnknown = false
¶llvm::ElementCount getVectorElementCount() const
llvm::ElementCount getVectorElementCount() constDeclared at: llvm/include/llvm/Support/MachineValueType.h:670
¶llvm::MVT getVectorElementType() const
llvm::MVT getVectorElementType() constDeclared at: llvm/include/llvm/Support/MachineValueType.h:424
¶unsigned int getVectorNumElements() const
unsigned int getVectorNumElements() constDeclared at: llvm/include/llvm/Support/MachineValueType.h:547
¶static llvm::MVT getVectorVT(
llvm::MVT VT,
llvm::ElementCount EC)
static llvm::MVT getVectorVT(
llvm::MVT VT,
llvm::ElementCount EC)Declared at: llvm/include/llvm/Support/MachineValueType.h:1090
Parameters
¶static llvm::MVT getVectorVT(
llvm::MVT VT,
unsigned int NumElements)
static llvm::MVT getVectorVT(
llvm::MVT VT,
unsigned int NumElements)Declared at: llvm/include/llvm/Support/MachineValueType.h:918
Parameters
- llvm::MVT VT
- unsigned int NumElements
¶static llvm::MVT getVectorVT(
llvm::MVT VT,
unsigned int NumElements,
bool IsScalable)
static llvm::MVT getVectorVT(
llvm::MVT VT,
unsigned int NumElements,
bool IsScalable)Declared at: llvm/include/llvm/Support/MachineValueType.h:1084
Parameters
- llvm::MVT VT
- unsigned int NumElements
- bool IsScalable
¶static llvm::MVT::mvt_range
integer_fixedlen_vector_valuetypes()
static llvm::MVT::mvt_range
integer_fixedlen_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1156
¶static llvm::MVT::mvt_range
integer_scalable_vector_valuetypes()
static llvm::MVT::mvt_range
integer_scalable_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1168
¶static llvm::MVT::mvt_range integer_valuetypes()
static llvm::MVT::mvt_range integer_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1129
¶bool is1024BitVector() const
bool is1024BitVector() constDescription
Return true if this is a 1024-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:374
¶bool is128BitVector() const
bool is128BitVector() constDescription
Return true if this is a 128-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:349
¶bool is16BitVector() const
bool is16BitVector() constDescription
Return true if this is a 16-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:328
¶bool is2048BitVector() const
bool is2048BitVector() constDescription
Return true if this is a 2048-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:381
¶bool is256BitVector() const
bool is256BitVector() constDescription
Return true if this is a 256-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:358
¶bool is32BitVector() const
bool is32BitVector() constDescription
Return true if this is a 32-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:334
¶bool is512BitVector() const
bool is512BitVector() constDescription
Return true if this is a 512-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:366
¶bool is64BitVector() const
bool is64BitVector() constDescription
Return true if this is a 64-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:341
¶bool isByteSized() const
bool isByteSized() constDescription
Returns true if the number of bits for the type is a multiple of an 8-bit byte.
Declared at: llvm/include/llvm/Support/MachineValueType.h:858
¶bool isFixedLengthVector() const
bool isFixedLengthVector() constDeclared at: llvm/include/llvm/Support/MachineValueType.h:322
¶bool isFloatingPoint() const
bool isFloatingPoint() constDescription
Return true if this is a FP or a vector FP type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:284
¶bool isInteger() const
bool isInteger() constDescription
Return true if this is an integer or a vector integer type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:294
¶bool isOverloaded() const
bool isOverloaded() constDescription
Return true if this is an overloaded type for TableGen.
Declared at: llvm/include/llvm/Support/MachineValueType.h:387
¶bool isPow2VectorType() const
bool isPow2VectorType() constDescription
Returns true if the given vector is a power of 2.
Declared at: llvm/include/llvm/Support/MachineValueType.h:403
¶bool isScalableVector() const
bool isScalableVector() constDescription
Return true if this is a vector value type where the runtime length is machine dependent
Declared at: llvm/include/llvm/Support/MachineValueType.h:317
¶bool isScalarInteger() const
bool isScalarInteger() constDescription
Return true if this is an integer, not including vectors.
Declared at: llvm/include/llvm/Support/MachineValueType.h:304
¶bool isValid() const
bool isValid() constDescription
Return true if this is a valid simple valuetype.
Declared at: llvm/include/llvm/Support/MachineValueType.h:278
¶bool isVector() const
bool isVector() constDescription
Return true if this is a vector value type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:310
¶static llvm::MVT::mvt_range
scalable_vector_valuetypes()
static llvm::MVT::mvt_range
scalable_vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1150
¶static llvm::MVT::mvt_range vector_valuetypes()
static llvm::MVT::mvt_range vector_valuetypes()Declared at: llvm/include/llvm/Support/MachineValueType.h:1139