Lines Matching defs:EVT

28   struct EVT;
396 /// EVT - Extended Value Type. Capable of holding value types which are not
399 struct EVT {
405 EVT() : V((MVT::SimpleValueType)(MVT::INVALID_SIMPLE_VALUE_TYPE)),
407 EVT(MVT::SimpleValueType SVT) : V(SVT), LLVMTy(0) { }
408 EVT(MVT S) : V(S), LLVMTy(0) {}
410 bool operator==(EVT VT) const {
413 bool operator!=(EVT VT) const {
421 /// getFloatingPointVT - Returns the EVT that represents a floating point
424 static EVT getFloatingPointVT(unsigned BitWidth) {
428 /// getIntegerVT - Returns the EVT that represents an integer with the given
430 static EVT getIntegerVT(LLVMContext &Context, unsigned BitWidth) {
437 /// getVectorVT - Returns the EVT that represents a vector NumElements in
439 static EVT getVectorVT(LLVMContext &Context, EVT VT, unsigned NumElements) {
449 EVT changeVectorElementTypeToInteger() const {
461 /// isSimple - Test if the given EVT is simple (as opposed to being
467 /// isExtended - Test if the given EVT is extended (as opposed to
535 bool bitsEq(EVT VT) const {
536 if (EVT::operator==(VT)) return true;
541 bool bitsGT(EVT VT) const {
542 if (EVT::operator==(VT)) return false;
547 bool bitsGE(EVT VT) const {
548 if (EVT::operator==(VT)) return true;
553 bool bitsLT(EVT VT) const {
554 if (EVT::operator==(VT)) return false;
559 bool bitsLE(EVT VT) const {
560 if (EVT::operator==(VT)) return true;
566 /// simple EVT.
574 EVT getScalarType() const {
580 EVT getVectorElementType() const {
615 /// getRoundIntegerType - Rounds the bit-width of the given integer EVT up
617 /// integer EVT with that number of bits.
618 EVT getRoundIntegerType(LLVMContext &Context) const {
622 return EVT(MVT::i8);
627 /// greater than or equal to half the width of this EVT. If no simple
630 EVT getHalfSizedIntegerVT(LLVMContext &Context) const {
635 EVT HalfVT = EVT((MVT::SimpleValueType)IntVT);
648 /// getPow2VectorType - Widens the length of the given vector EVT up to
650 EVT getPow2VectorType(LLVMContext &Context) const {
654 return EVT::getVectorVT(Context, getVectorElementType(), Pow2NElts);
666 /// specified EVT. For integer types, this returns an unsigned type. Note
673 static EVT getEVT(Type *Ty, bool HandleUnknown = false);
685 bool operator()(EVT L, EVT R) const {
697 EVT changeExtendedVectorElementTypeToInteger() const;
698 static EVT getExtendedIntegerVT(LLVMContext &C, unsigned BitWidth);
699 static EVT getExtendedVectorVT(LLVMContext &C, EVT VT,
708 EVT getExtendedVectorElementType() const;