mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-20 09:24:58 +00:00
Eliminate the UID field in the Type class, bringing it down to 28 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14709 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
51662c7beb
commit
57cd1ff463
@ -83,7 +83,6 @@ struct Type {
|
|||||||
private:
|
private:
|
||||||
TypeID ID : 8; // The current base type of this type.
|
TypeID ID : 8; // The current base type of this type.
|
||||||
bool Abstract; // True if type contains an OpaqueType
|
bool Abstract; // True if type contains an OpaqueType
|
||||||
unsigned UID; // The unique ID number for this class
|
|
||||||
|
|
||||||
/// RefCount - This counts the number of PATypeHolders that are pointing to
|
/// RefCount - This counts the number of PATypeHolders that are pointing to
|
||||||
/// this type. When this number falls to zero, if the type is abstract and
|
/// this type. When this number falls to zero, if the type is abstract and
|
||||||
@ -97,7 +96,6 @@ protected:
|
|||||||
Type(const std::string& Name, TypeID id);
|
Type(const std::string& Name, TypeID id);
|
||||||
virtual ~Type() {}
|
virtual ~Type() {}
|
||||||
|
|
||||||
|
|
||||||
/// Types can become nonabstract later, if they are refined.
|
/// Types can become nonabstract later, if they are refined.
|
||||||
///
|
///
|
||||||
inline void setAbstract(bool Val) { Abstract = Val; }
|
inline void setAbstract(bool Val) { Abstract = Val; }
|
||||||
@ -143,13 +141,6 @@ public:
|
|||||||
///
|
///
|
||||||
inline TypeID getTypeID() const { return ID; }
|
inline TypeID getTypeID() const { return ID; }
|
||||||
|
|
||||||
/// getUniqueID - Returns the UID of the type. This can be thought of as a
|
|
||||||
/// small integer version of the pointer to the type class. Two types that
|
|
||||||
/// are structurally different have different UIDs. This can be used for
|
|
||||||
/// indexing types into an array.
|
|
||||||
///
|
|
||||||
inline unsigned getUniqueID() const { return UID; }
|
|
||||||
|
|
||||||
/// getDescription - Return the string representation of the type...
|
/// getDescription - Return the string representation of the type...
|
||||||
const std::string &getDescription() const;
|
const std::string &getDescription() const;
|
||||||
|
|
||||||
@ -264,9 +255,8 @@ public:
|
|||||||
// instances of Type.
|
// instances of Type.
|
||||||
//
|
//
|
||||||
|
|
||||||
/// getPrimitiveType/getUniqueIDType - Return a type based on an identifier.
|
/// getPrimitiveType - Return a type based on an identifier.
|
||||||
static const Type *getPrimitiveType(TypeID IDNumber);
|
static const Type *getPrimitiveType(TypeID IDNumber);
|
||||||
static const Type *getUniqueIDType(unsigned UID);
|
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// These are the builtin types that are always available...
|
// These are the builtin types that are always available...
|
||||||
|
Loading…
Reference in New Issue
Block a user