LLVM 20.0.0git
|
Keeps cloned data for the type DIE. More...
#include "DWARFLinker/Parallel/TypePool.h"
Public Member Functions | |
DIE & | getFinalDie () const |
Returns copy of type DIE which should be emitted into resulting file. | |
bool | hasOnlyDeclaration () const |
Returns true if type die entry has only declaration die. | |
Static Public Member Functions | |
static TypeEntryBody * | create (llvm::parallel::PerThreadBumpPtrAllocator &Allocator) |
Creates type DIE for the specified name. | |
Public Attributes | |
std::atomic< DIE * > | Die = {nullptr} |
TypeEntryBody keeps partially cloned DIEs corresponding to this type. | |
std::atomic< DIE * > | DeclarationDie = {nullptr} |
std::atomic< bool > | ParentIsDeclaration = {true} |
ArrayList< TypeEntry *, 5 > | Children |
Children for current type. | |
Protected Member Functions | |
TypeEntryBody ()=delete | |
TypeEntryBody (const TypeEntryBody &RHS)=delete | |
TypeEntryBody (TypeEntryBody &&RHS)=delete | |
TypeEntryBody & | operator= (const TypeEntryBody &RHS)=delete |
TypeEntryBody & | operator= (const TypeEntryBody &&RHS)=delete |
TypeEntryBody (llvm::parallel::PerThreadBumpPtrAllocator &Allocator) | |
Keeps cloned data for the type DIE.
Definition at line 30 of file TypePool.h.
|
protecteddelete |
Referenced by create().
|
protecteddelete |
|
protecteddelete |
|
inlineprotected |
Definition at line 77 of file TypePool.h.
|
inlinestatic |
Creates type DIE for the specified name.
Definition at line 46 of file TypePool.h.
References Allocator, and TypeEntryBody().
Referenced by llvm::dwarf_linker::parallel::TypePool::getOrCreateTypeEntryBody(), and llvm::dwarf_linker::parallel::TypePool::TypePool().
|
inline |
Returns copy of type DIE which should be emitted into resulting file.
Definition at line 33 of file TypePool.h.
References assert(), DeclarationDie, and Die.
Referenced by llvm::dwarf_linker::parallel::OutputSections::applyPatches().
|
inline |
Returns true if type die entry has only declaration die.
Definition at line 42 of file TypePool.h.
References Die.
|
protecteddelete |
|
protecteddelete |
Children for current type.
Definition at line 68 of file TypePool.h.
std::atomic<DIE *> llvm::dwarf_linker::parallel::TypeEntryBody::DeclarationDie = {nullptr} |
Definition at line 62 of file TypePool.h.
Referenced by getFinalDie().
std::atomic<DIE *> llvm::dwarf_linker::parallel::TypeEntryBody::Die = {nullptr} |
TypeEntryBody keeps partially cloned DIEs corresponding to this type.
The two kinds of DIE can be kept: declaration and definition. If definition DIE was met while parsing input DWARF then this DIE would be used as a final DIE for this type. If definition DIE is not met then declaration DIE would be used as a final DIE.
Definition at line 59 of file TypePool.h.
Referenced by getFinalDie(), and hasOnlyDeclaration().
Definition at line 65 of file TypePool.h.