Add some happy helper methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26046 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-02-08 02:05:45 +00:00
parent 62d1ade893
commit 5819342732

View File

@ -17,6 +17,7 @@
#define LLVM_CODEGEN_VALUETYPES_H
#include <cassert>
#include "llvm/Support/DataTypes.h"
namespace llvm {
class Type;
@ -108,6 +109,19 @@ namespace MVT { // MVT = Machine Value Types
}
}
/// getIntVTBitMask - Return an integer with 1's every place there are bits
/// in the specified integer value type.
static inline uint64_t getIntVTBitMask(ValueType VT) {
assert(isInteger(VT) && !isVector(VT) && "Only applies to int scalars!");
return ~0ULL >> (64-getSizeInBits(VT));
}
/// getIntVTSignBit - Return an integer with a 1 in the position of the sign
/// bit for the specified integer value type.
static inline uint64_t getIntVTSignBit(ValueType VT) {
assert(isInteger(VT) && !isVector(VT) && "Only applies to int scalars!");
return 1ULL << (getSizeInBits(VT)-1);
}
/// MVT::getValueTypeString - This function returns value type as a string,
/// e.g. "i32".
const char *getValueTypeString(ValueType VT);