diff options
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/Target.cpp | 4 | ||||
-rw-r--r-- | lib/Target/TargetData.cpp | 19 |
2 files changed, 0 insertions, 23 deletions
diff --git a/lib/Target/Target.cpp b/lib/Target/Target.cpp index 0919fe42dc..a42ce548c8 100644 --- a/lib/Target/Target.cpp +++ b/lib/Target/Target.cpp @@ -97,10 +97,6 @@ unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructT return unwrap(TD)->getStructLayout(STy)->getElementOffset(Element); } -void LLVMInvalidateStructLayout(LLVMTargetDataRef TD, LLVMTypeRef StructTy) { - unwrap(TD)->InvalidateStructLayoutInfo(unwrap<StructType>(StructTy)); -} - void LLVMDisposeTargetData(LLVMTargetDataRef TD) { delete unwrap(TD); } diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index b2c4b21f68..17d022a339 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -329,15 +329,6 @@ public: } } - void InvalidateEntry(const StructType *Ty) { - LayoutInfoTy::iterator I = LayoutInfo.find(Ty); - if (I == LayoutInfo.end()) return; - - I->second->~StructLayout(); - free(I->second); - LayoutInfo.erase(I); - } - StructLayout *&operator[](const StructType *STy) { return LayoutInfo[STy]; } @@ -375,16 +366,6 @@ const StructLayout *TargetData::getStructLayout(const StructType *Ty) const { return L; } -/// InvalidateStructLayoutInfo - TargetData speculatively caches StructLayout -/// objects. If a TargetData object is alive when types are being refined and -/// removed, this method must be called whenever a StructType is removed to -/// avoid a dangling pointer in this cache. -void TargetData::InvalidateStructLayoutInfo(const StructType *Ty) const { - if (!LayoutMap) return; // No cache. - - static_cast<StructLayoutMap*>(LayoutMap)->InvalidateEntry(Ty); -} - std::string TargetData::getStringRepresentation() const { std::string Result; raw_string_ostream OS(Result); |