From 5681689795c36beb83a4be02c13fb0df78a216bc Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Sat, 5 Dec 2009 01:43:33 +0000 Subject: [PATCH] Refactor some code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/TargetData.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index 1f576f54900..b5077e4c653 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -367,6 +367,18 @@ public: } } + void InvalidateEntry(const StructType *Ty) { + LayoutInfoTy::iterator I = this->find(Ty); + if (I == this->end()) return; + + I->second->~StructLayout(); + free(I->second); + this->erase(I); + + if (Ty->isAbstract()) + Ty->removeAbstractTypeUser(this); + } + LayoutInfoTy::iterator end() { return LayoutInfo.end(); } @@ -427,15 +439,7 @@ void TargetData::InvalidateStructLayoutInfo(const StructType *Ty) const { if (!LayoutMap) return; // No cache. StructLayoutMap *STM = static_cast(LayoutMap); - StructLayoutMap::LayoutInfoTy::iterator I = STM->find(Ty); - if (I == STM->end()) return; - - I->second->~StructLayout(); - free(I->second); - STM->erase(I); - - if (Ty->isAbstract()) - Ty->removeAbstractTypeUser(STM); + STM->InvalidateEntry(Ty); } std::string TargetData::getStringRepresentation() const { -- 2.34.1