LLVM 20.0.0git
|
TypePool keeps type descriptors which contain partially cloned DIE correspinding to each type. More...
#include "DWARFLinker/Parallel/TypePool.h"
Public Member Functions | |
TypePool () | |
TypeEntry * | insert (StringRef Name) |
TypeEntryBody * | getOrCreateTypeEntryBody (TypeEntry *Entry, TypeEntry *ParentEntry) |
Create or return existing type entry body for the specified Entry . | |
void | sortTypes () |
Sort children for each kept type entry. | |
TypeEntry * | getRoot () const |
Return root for all type entries. | |
BumpPtrAllocator & | getThreadLocalAllocator () |
Return thread local allocator used by pool. | |
Protected Attributes | |
std::function< bool(const TypeEntry *LHS, const TypeEntry *RHS)> | TypesComparator |
TypeEntry * | Root = nullptr |
TypePool keeps type descriptors which contain partially cloned DIE correspinding to each type.
Types are identified by names.
Definition at line 108 of file TypePool.h.
|
inline |
Definition at line 113 of file TypePool.h.
References llvm::dwarf_linker::parallel::TypeEntryBody::create(), llvm::StringMapEntry< ValueTy >::create(), llvm::StringMapEntryStorage< ValueTy >::getValue(), and Root.
|
inline |
Create or return existing type entry body for the specified Entry
.
Link that entry as child for the specified ParentEntry
.
Definition at line 131 of file TypePool.h.
References llvm::dwarf_linker::parallel::TypeEntryBody::create(), and llvm::StringMapEntryStorage< ValueTy >::getValue().
|
inline |
Return root for all type entries.
Definition at line 158 of file TypePool.h.
References Root.
Referenced by llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmit(), llvm::dwarf_linker::parallel::TypeUnit::createDIETree(), and sortTypes().
|
inline |
Return thread local allocator used by pool.
Definition at line 161 of file TypePool.h.
Referenced by llvm::dwarf_linker::parallel::CompileUnit::cloneDIE().
Definition at line 121 of file TypePool.h.
References llvm::StringMapEntry< ValueTy >::first(), insert(), and Name.
Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addDIETypeName(), and insert().
|
inline |
Sort children for each kept type entry.
Definition at line 147 of file TypePool.h.
References getRoot(), and TypesComparator.
|
protected |
Definition at line 172 of file TypePool.h.
Referenced by getRoot(), and TypePool().
|
protected |
Definition at line 167 of file TypePool.h.
Referenced by sortTypes().