1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 11:33:24 +02:00

Final cleanups:

- Privatize a typedef.
- Call the InvalidateEntry when refining a type.

llvm-svn: 90655
This commit is contained in:
Bill Wendling 2009-12-05 07:46:49 +00:00
parent 887646a585
commit a24fa4e67b

View 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: