diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-13 03:26:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-13 03:26:12 +0000 |
commit | 4de4123fb15c2ac77e1de671f0d70dd2070e272c (patch) | |
tree | 609369991fd313706247f6aaaeb6a671c97c08b1 /include | |
parent | cfe822728fe2ce1d53a07018f160f010fd133aad (diff) | |
download | llvm-4de4123fb15c2ac77e1de671f0d70dd2070e272c.tar.gz llvm-4de4123fb15c2ac77e1de671f0d70dd2070e272c.tar.bz2 llvm-4de4123fb15c2ac77e1de671f0d70dd2070e272c.tar.xz |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/DerivedTypes.h | 2 | ||||
-rw-r--r-- | include/llvm/Type.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h index 179f44fbc0..e4b9136802 100644 --- a/include/llvm/DerivedTypes.h +++ b/include/llvm/DerivedTypes.h @@ -31,7 +31,7 @@ class StructValType; class PointerValType; class PackedValType; -class DerivedType : public Type, public AbstractTypeUser { +class DerivedType : public Type { friend class Type; protected: diff --git a/include/llvm/Type.h b/include/llvm/Type.h index d69005865d..68af106ffe 100644 --- a/include/llvm/Type.h +++ b/include/llvm/Type.h @@ -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. |