|
LLVM 22.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::ConcurrentHashTableByPtr< StringRef, TypeEntry, llvm::parallel::PerThreadBumpPtrAllocator, TypeEntryInfo >::ConcurrentHashTableByPtr(), llvm::dwarf_linker::parallel::TypeEntryBody::create(), llvm::StringMapEntry< std::atomic< TypeEntryBody * > >::create(), 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(), 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::ConcurrentHashTableByPtr< StringRef, TypeEntry, llvm::parallel::PerThreadBumpPtrAllocator, TypeEntryInfo >::ConcurrentHashTableByPtr(), llvm::StringMapEntry< ValueTy >::first(), and insert().
Referenced by 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().