mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-05 01:56:16 +00:00
Calling InvalidateEntry during the refinement was breaking the bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
32bc2362a1
commit
740266269b
@ -327,7 +327,12 @@ class StructLayoutMap : public AbstractTypeUser {
|
||||
///
|
||||
virtual void refineAbstractType(const DerivedType *OldTy,
|
||||
const Type *) {
|
||||
InvalidateEntry(cast<const StructType>(OldTy));
|
||||
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);
|
||||
}
|
||||
|
||||
/// typeBecameConcrete - The other case which AbstractTypeUsers must be aware
|
||||
@ -336,7 +341,12 @@ class StructLayoutMap : public AbstractTypeUser {
|
||||
/// This method notifies ATU's when this occurs for a type.
|
||||
///
|
||||
virtual void typeBecameConcrete(const DerivedType *AbsTy) {
|
||||
InvalidateEntry(cast<const StructType>(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);
|
||||
}
|
||||
|
||||
public:
|
||||
|
Loading…
x
Reference in New Issue
Block a user