Shrink derived types by 8 bytes each by not having to have 2 vtables pointers

and other MI overhead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24344 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-11-13 03:26:12 +00:00
parent cfe822728f
commit 4de4123fb1
2 changed files with 5 additions and 2 deletions

View File

@ -31,7 +31,7 @@ class StructValType;
class PointerValType;
class PackedValType;
class DerivedType : public Type, public AbstractTypeUser {
class DerivedType : public Type {
friend class Type;
protected:

View File

@ -51,7 +51,7 @@ class StructType;
class PackedType;
class TypeMapBase;
class Type {
class Type : public AbstractTypeUser {
public:
///===-------------------------------------------------------------------===//
/// Definitions of all of the base types for the Type system. Based on this
@ -341,6 +341,9 @@ private:
/// their size is relatively uncommon, move this operation out of line.
bool isSizedDerivedType() const;
virtual void refineAbstractType(const DerivedType *OldTy, const Type *NewTy);
virtual void typeBecameConcrete(const DerivedType *AbsTy);
protected:
// PromoteAbstractToConcrete - This is an internal method used to calculate
// change "Abstract" from true to false when types are refined.