Final cleanups:
authorBill Wendling <isanbard@gmail.com>
Sat, 5 Dec 2009 07:46:49 +0000 (07:46 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 5 Dec 2009 07:46:49 +0000 (07:46 +0000)
- Privatize a typedef.
- Call the InvalidateEntry when refining a type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/TargetData.cpp

index 2c1c5e63551881bbc44ca9443bdcf43dcf3c4f8f..2a5b572a115ea37a069d69e5cff3bef7468603bb 100644 (file)
@@ -318,9 +318,7 @@ unsigned TargetData::getAlignmentInfo(AlignTypeEnum AlignType,
 namespace {
 
 class StructLayoutMap : public AbstractTypeUser {
-public:
   typedef DenseMap<const StructType*, StructLayout*> LayoutInfoTy;
-private:
   LayoutInfoTy LayoutInfo;
 
   /// refineAbstractType - The callback method invoked when an abstract type is
@@ -329,12 +327,7 @@ private:
   ///
   virtual void refineAbstractType(const DerivedType *OldTy,
                                   const Type *) {
-    const StructType *STy = cast<const StructType>(OldTy);
-    LayoutInfoTy::iterator Iter = LayoutInfo.find(STy);
-    Iter->second->~StructLayout();
-    free(Iter->second);
-    LayoutInfo.erase(Iter);
-    OldTy->removeAbstractTypeUser(this);
+    InvalidateEntry(cast<const StructType>(OldTy));
   }
 
   /// typeBecameConcrete - The other case which AbstractTypeUsers must be aware
@@ -343,12 +336,7 @@ private:
   /// This method notifies ATU's when this occurs for a type.
   ///
   virtual void typeBecameConcrete(const DerivedType *AbsTy) {
-    const StructType *STy = cast<const StructType>(AbsTy);
-    LayoutInfoTy::iterator Iter = LayoutInfo.find(STy);
-    Iter->second->~StructLayout();
-    free(Iter->second);
-    LayoutInfo.erase(Iter);
-    AbsTy->removeAbstractTypeUser(this);
+    InvalidateEntry(cast<const StructType>(AbsTy));
   }
 
 public: