forked from OSchip/llvm-project
DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D)
It's no longer necessary to lazily add members to the DICompositeType member list. Instead any lazy members (special member functions and member template instantiations) are added to the parent late based on their context link, the same way that nested types have always been handled (never being in the member list - just added to the parent DIE lazily based on context). Clang's been updated not to use this function anymore as it improves type unit consistency by never emitting lazy members in type units. llvm-svn: 198079
This commit is contained in:
parent
e683bd7d7e
commit
ac2002973c
|
@ -385,7 +385,6 @@ public:
|
|||
|
||||
DIArray getTypeArray() const { return getFieldAs<DIArray>(10); }
|
||||
void setTypeArray(DIArray Elements, DIArray TParams = DIArray());
|
||||
void addMember(DIDescriptor D);
|
||||
unsigned getRunTimeLang() const { return getUnsignedField(11); }
|
||||
DITypeRef getContainingType() const { return getFieldAs<DITypeRef>(12); }
|
||||
void setContainingType(DICompositeType ContainingType);
|
||||
|
|
|
@ -666,19 +666,6 @@ void DICompositeType::setTypeArray(DIArray Elements, DIArray TParams) {
|
|||
DbgNode = N;
|
||||
}
|
||||
|
||||
void DICompositeType::addMember(DIDescriptor D) {
|
||||
SmallVector<llvm::Value *, 16> M;
|
||||
DIArray OrigM = getTypeArray();
|
||||
unsigned Elements = OrigM.getNumElements();
|
||||
if (Elements == 1 && !OrigM.getElement(0))
|
||||
Elements = 0;
|
||||
M.reserve(Elements + 1);
|
||||
for (unsigned i = 0; i != Elements; ++i)
|
||||
M.push_back(OrigM.getElement(i));
|
||||
M.push_back(D);
|
||||
setTypeArray(DIArray(MDNode::get(DbgNode->getContext(), M)));
|
||||
}
|
||||
|
||||
/// Generate a reference to this DIType. Uses the type identifier instead
|
||||
/// of the actual MDNode if possible, to help type uniquing.
|
||||
DIScopeRef DIScope::getRef() const {
|
||||
|
|
Loading…
Reference in New Issue