| Index: src/IceTypes.h
|
| diff --git a/src/IceTypes.h b/src/IceTypes.h
|
| index 6bc2ded5ec63f8d9d388eef2cd14426a7a6b8928..813f7d705b485ae72e34103fa5c960c0d0e1b695 100644
|
| --- a/src/IceTypes.h
|
| +++ b/src/IceTypes.h
|
| @@ -20,8 +20,14 @@
|
|
|
| namespace Ice {
|
|
|
| +enum TypeFlag {
|
| + // Define each flag as a power of 2, so that we can build flag bitsets.
|
| + TypeFlagIsInteger = 0x1,
|
| + TypeFlagIsFloating = 0x2
|
| +};
|
| +
|
| enum Type {
|
| -#define X(tag, size, align, elts, elty, str) tag,
|
| +#define X(tag, size, align, elts, elty, str, flags) tag,
|
| ICETYPE_TABLE
|
| #undef X
|
| IceType_NUM
|
| @@ -46,6 +52,8 @@ size_t typeAlignInBytes(Type Ty);
|
| size_t typeNumElements(Type Ty);
|
| Type typeElementType(Type Ty);
|
|
|
| +bool isIntegerType(Type Ty);
|
| +bool isFloatingType(Type Ty);
|
| inline bool isVectorType(Type Ty) { return typeNumElements(Ty) > 1; }
|
|
|
| template <> Ostream &operator<<(class Ostream &Str, const Type &Ty);
|
|
|