Add isFPOrFPVector() method, which indicates if a type is either FP or a

vector of FP types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31198 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-10-26 18:22:45 +00:00
parent 7ae68ab3bc
commit 2e1c196470
2 changed files with 14 additions and 0 deletions

View File

@ -185,6 +185,10 @@ public:
/// 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.
///

View File

@ -90,6 +90,16 @@ const Type *Type::getPrimitiveType(TypeID IDNumber) {
}
}
/// 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.
//