[llvm-commits] CVS: llvm/include/llvm/DerivedTypes.h Type.h

Chris Lattner lattner at cs.uiuc.edu
Sat Nov 12 19:26:23 PST 2005



Changes in directory llvm/include/llvm:

DerivedTypes.h updated: 1.69 -> 1.70
Type.h updated: 1.80 -> 1.81
---
Log message:

Shrink derived types by 8 bytes each by not having to have 2 vtables pointers
and other MI overhead.


---
Diffs of the changes:  (+5 -2)

 DerivedTypes.h |    2 +-
 Type.h         |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/DerivedTypes.h
diff -u llvm/include/llvm/DerivedTypes.h:1.69 llvm/include/llvm/DerivedTypes.h:1.70
--- llvm/include/llvm/DerivedTypes.h:1.69	Sat Nov 12 21:13:26 2005
+++ llvm/include/llvm/DerivedTypes.h	Sat Nov 12 21:26:12 2005
@@ -31,7 +31,7 @@
 class PointerValType;
 class PackedValType;
 
-class DerivedType : public Type, public AbstractTypeUser {
+class DerivedType : public Type {
   friend class Type;
 
 protected:


Index: llvm/include/llvm/Type.h
diff -u llvm/include/llvm/Type.h:1.80 llvm/include/llvm/Type.h:1.81
--- llvm/include/llvm/Type.h:1.80	Sat Nov 12 21:13:26 2005
+++ llvm/include/llvm/Type.h	Sat Nov 12 21:26:12 2005
@@ -51,7 +51,7 @@
 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 @@
   /// 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.






More information about the llvm-commits mailing list