diff options
-rw-r--r-- | lib/VMCore/Type.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index 3e5757b114..fb7479a08a 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -138,8 +138,34 @@ const Type *Type::getSignedVersion() const { // unsigned Type::getPrimitiveSize() const { switch (getTypeID()) { -#define HANDLE_PRIM_TYPE(TY,SIZE) case TY##TyID: return SIZE; -#include "llvm/Type.def" + case Type::BoolTy: + case Type::SByteTy: + case Type::UByteTy: return 1; + case Type::UShortTy: + case Type::ShortTy: return 2; + case Type::FloatTy: + case Type::IntTy: + case Type::UIntTy: return 4; + case Type::LongTy: + case Type::ULongTy: + case Type::DoubleTy: return 8; + default: return 0; + } +} + +unsigned Type::getPrimitiveSizeInBits() const { + switch (getTypeID()) { + case Type::BoolTy: return 1; + case Type::SByteTy: + case Type::UByteTy: return 8; + case Type::UShortTy: + case Type::ShortTy: return 16; + case Type::FloatTy: + case Type::IntTy: + case Type::UIntTy: return 32; + case Type::LongTy: + case Type::ULongTy: + case Type::DoubleTy: return 64; default: return 0; } } |