mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
remove the InvalidateStructLayoutInfo API, which is dead and unnecessary now
that type refinement is toast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135245 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user