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) const
Description
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) const
Description
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) const
Description
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) const
Description
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() const
Description
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() const
Description
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() const
Declared at: llvm/include/llvm/Support/MachineValueType.h:831
¶llvm::MVT getScalarType() const
llvm::MVT getScalarType() const
Description
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() const
Description
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() const
Description
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() const
Description
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() const
Declared at: llvm/include/llvm/Support/MachineValueType.h:670
¶llvm::MVT getVectorElementType() const
llvm::MVT getVectorElementType() const
Declared at: llvm/include/llvm/Support/MachineValueType.h:424
¶unsigned int getVectorNumElements() const
unsigned int getVectorNumElements() const
Declared 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() const
Description
Return true if this is a 1024-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:374
¶bool is128BitVector() const
bool is128BitVector() const
Description
Return true if this is a 128-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:349
¶bool is16BitVector() const
bool is16BitVector() const
Description
Return true if this is a 16-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:328
¶bool is2048BitVector() const
bool is2048BitVector() const
Description
Return true if this is a 2048-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:381
¶bool is256BitVector() const
bool is256BitVector() const
Description
Return true if this is a 256-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:358
¶bool is32BitVector() const
bool is32BitVector() const
Description
Return true if this is a 32-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:334
¶bool is512BitVector() const
bool is512BitVector() const
Description
Return true if this is a 512-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:366
¶bool is64BitVector() const
bool is64BitVector() const
Description
Return true if this is a 64-bit vector type.
Declared at: llvm/include/llvm/Support/MachineValueType.h:341
¶bool isByteSized() const
bool isByteSized() const
Description
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() const
Declared at: llvm/include/llvm/Support/MachineValueType.h:322
¶bool isFloatingPoint() const
bool isFloatingPoint() const
Description
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() const
Description
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() const
Description
Return true if this is an overloaded type for TableGen.
Declared at: llvm/include/llvm/Support/MachineValueType.h:387
¶bool isPow2VectorType() const
bool isPow2VectorType() const
Description
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() const
Description
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() const
Description
Return true if this is an integer, not including vectors.
Declared at: llvm/include/llvm/Support/MachineValueType.h:304
¶bool isValid() const
bool isValid() const
Description
Return true if this is a valid simple valuetype.
Declared at: llvm/include/llvm/Support/MachineValueType.h:278
¶bool isVector() const
bool isVector() const
Description
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