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:
Chris Lattner 2004-07-08 22:31:37 +00:00
parent 51662c7beb
commit 57cd1ff463

View File

@ -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...