vector of FP types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31198
91177308-0d34-0410-b5e6-
96231b3b80d8
/// types
bool isFloatingPoint() const { return ID == FloatTyID || ID == DoubleTyID; }
+ /// isFPOrFPVector - Return true if this is a FP type or a vector of FP types.
+ ///
+ bool isFPOrFPVector() const;
+
/// isAbstract - True if the type is either an Opaque type, or is a derived
/// type that includes an opaque type somewhere in it.
///
}
}
+/// isFPOrFPVector - Return true if this is a FP type or a vector of FP types.
+///
+bool Type::isFPOrFPVector() const {
+ if (ID == Type::FloatTyID || ID == Type::DoubleTyID) return true;
+ if (ID != Type::PackedTyID) return false;
+
+ return cast<PackedType>(this)->getElementType()->isFloatingPoint();
+}
+
+
// isLosslesslyConvertibleTo - Return true if this type can be converted to
// 'Ty' without any reinterpretation of bits. For example, uint to int.
//