LLVM 20.0.0git
Classes | Enumerations | Functions
used to link the debug information

Emit unit's abbreviations. More...

Classes

struct  llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo
 This structure keeps fields which would be used for creating accelerator table. More...
 

Enumerations

enum class  llvm::dwarf_linker::parallel::DwarfUnit::AccelType : uint8_t {
  llvm::dwarf_linker::parallel::DwarfUnit::AccelType::None , llvm::dwarf_linker::parallel::DwarfUnit::AccelType::Name , llvm::dwarf_linker::parallel::DwarfUnit::AccelType::Namespace , llvm::dwarf_linker::parallel::DwarfUnit::AccelType::ObjC ,
  llvm::dwarf_linker::parallel::DwarfUnit::AccelType::Type
}
 

Functions

void * llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocate (size_t Size, size_t Alignment)
 Allocate Size bytes of Alignment aligned memory.
 
void llvm::parallel::PerThreadAllocator< AllocatorTy >::Deallocate (const void *Ptr, size_t Size, size_t Alignment)
 Deallocate Ptr to Size bytes of memory allocated by this allocator.
 
AllocatorTy & llvm::parallel::PerThreadAllocator< AllocatorTy >::getThreadLocalAllocator ()
 Return allocator corresponding to the current thread.
 
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators () const
 
void llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset ()
 Reset state of allocators.
 
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory () const
 Return total memory size used by all allocators.
 
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated () const
 Return allocated size by all allocators.
 
void llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize (size_t NewSize)
 Set red zone for all allocators.
 
void llvm::parallel::PerThreadAllocator< AllocatorTy >::PrintStats () const
 Print statistic for each allocator.
 
void llvm::dwarf_linker::parallel::CompileUnit::warn (const Twine &Warning, const DWARFDie *DIE=nullptr)
 
void llvm::dwarf_linker::parallel::CompileUnit::warn (Error Warning, const DWARFDie *DIE=nullptr)
 
void llvm::dwarf_linker::parallel::CompileUnit::warn (const Twine &Warning, const DWARFDebugInfoEntry *DieEntry)
 
void llvm::dwarf_linker::parallel::CompileUnit::error (const Twine &Err, const DWARFDie *DIE=nullptr)
 
void llvm::dwarf_linker::parallel::CompileUnit::error (Error Err, const DWARFDie *DIE=nullptr)
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setVerbosity (bool Verbose) override
 Allows to generate log of linking process to the standard output.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setStatistics (bool Statistics) override
 Print statistics to standard output.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setVerifyInputDWARF (bool Verify) override
 Verify the input DWARF.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setNoODR (bool NoODR) override
 Do not unique types according to ODR.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setUpdateIndexTablesOnly (bool UpdateIndexTablesOnly) override
 Update index tables only(do not modify rest of DWARF).
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setAllowNonDeterministicOutput (bool AllowNonDeterministicOutput) override
 Allow generating valid, but non-deterministic output.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setKeepFunctionForStatic (bool KeepFunctionForStatic) override
 Set to keep the enclosing function for a static variable.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setNumThreads (unsigned NumThreads) override
 Use specified number of threads for parallel files linking.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::addAccelTableKind (AccelTableKind Kind) override
 Add kind of accelerator tables to be generated.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setPrependPath (StringRef Ppath) override
 Set prepend path for clang modules.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setEstimatedObjfilesAmount (unsigned ObjFilesNum) override
 Set estimated objects files amount, for preliminary data allocation.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setInputVerificationHandler (InputVerificationHandlerTy Handler) override
 Set verification handler which would be used to report verification errors.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setSwiftInterfacesMap (SwiftInterfacesMapTy *Map) override
 Set map for Swift interfaces.
 
void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setObjectPrefixMap (ObjectPrefixMapTy *Map) override
 Set prefix map for objects.
 
Error llvm::dwarf_linker::parallel::DWARFLinkerImpl::setTargetDWARFVersion (uint16_t TargetDWARFVersion) override
 Set target DWARF version.
 
Error llvm::dwarf_linker::parallel::DwarfUnit::emitAbbreviations ()
 
Error llvm::dwarf_linker::parallel::DwarfUnit::emitDebugInfo (const Triple &TargetTriple)
 Emit .debug_info section for unit DIEs.
 
Error llvm::dwarf_linker::parallel::DwarfUnit::emitDebugLine (const Triple &TargetTriple, const DWARFDebugLine::LineTable &OutLineTable)
 Emit .debug_line section.
 
Error llvm::dwarf_linker::parallel::DwarfUnit::emitDebugStringOffsetSection ()
 Emit the .debug_str_offsets section for current unit.
 
void llvm::dwarf_linker::parallel::DwarfUnit::warn (const Twine &Warning)
 
void llvm::dwarf_linker::parallel::DwarfUnit::error (const Twine &Err)
 
void llvm::dwarf_linker::parallel::DwarfUnit::emitPubAccelerators ()
 Emit .debug_pubnames and .debug_pubtypes for Unit.
 
virtual void llvm::dwarf_linker::parallel::DwarfUnit::forEachAcceleratorRecord (function_ref< void(AccelInfo &)> Handler)=0
 Enumerates accelerator data.
 

Detailed Description

Emit unit's abbreviations.

Enumeration Type Documentation

◆ AccelType

Enumerator
None 
Name 
Namespace 
ObjC 
Type 

Definition at line 118 of file DWARFLinkerUnit.h.

Function Documentation

◆ addAccelTableKind()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::addAccelTableKind ( AccelTableKind  Kind)
inlineoverridevirtual

◆ Allocate()

template<typename AllocatorTy >
void * llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocate ( size_t  Size,
size_t  Alignment 
)
inline

◆ Deallocate()

template<typename AllocatorTy >
void llvm::parallel::PerThreadAllocator< AllocatorTy >::Deallocate ( const void *  Ptr,
size_t  Size,
size_t  Alignment 
)
inline

◆ emitAbbreviations()

Error DwarfUnit::emitAbbreviations ( )

◆ emitDebugInfo()

Error DwarfUnit::emitDebugInfo ( const Triple TargetTriple)

◆ emitDebugLine()

Error DwarfUnit::emitDebugLine ( const Triple TargetTriple,
const DWARFDebugLine::LineTable OutLineTable 
)

◆ emitDebugStringOffsetSection()

Error DwarfUnit::emitDebugStringOffsetSection ( )

◆ emitPubAccelerators()

void DwarfUnit::emitPubAccelerators ( )

Emit .debug_pubnames and .debug_pubtypes for Unit.

Definition at line 200 of file DWARFLinkerUnit.cpp.

References Info.

Referenced by llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmit(), and llvm::dwarf_linker::parallel::TypeUnit::finishCloningAndEmit().

◆ error() [1/3]

void llvm::dwarf_linker::parallel::DwarfUnit::error ( const Twine Err)
inline

◆ error() [2/3]

void llvm::dwarf_linker::parallel::CompileUnit::error ( const Twine Err,
const DWARFDie DIE = nullptr 
)
inline

◆ error() [3/3]

void llvm::dwarf_linker::parallel::CompileUnit::error ( Error  Err,
const DWARFDie DIE = nullptr 
)
inline

◆ forEachAcceleratorRecord()

virtual void llvm::dwarf_linker::parallel::DwarfUnit::forEachAcceleratorRecord ( function_ref< void(AccelInfo &)>  Handler)
pure virtual

Enumerates accelerator data.

Implemented in llvm::dwarf_linker::parallel::CompileUnit, and llvm::dwarf_linker::parallel::TypeUnit.

◆ getBytesAllocated()

template<typename AllocatorTy >
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated ( ) const
inline

◆ getNumberOfAllocators()

template<typename AllocatorTy >
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators ( ) const
inline

◆ getThreadLocalAllocator()

template<typename AllocatorTy >
AllocatorTy & llvm::parallel::PerThreadAllocator< AllocatorTy >::getThreadLocalAllocator ( )
inline

◆ getTotalMemory()

template<typename AllocatorTy >
size_t llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory ( ) const
inline

◆ PrintStats()

template<typename AllocatorTy >
void llvm::parallel::PerThreadAllocator< AllocatorTy >::PrintStats ( ) const
inline

◆ Reset()

template<typename AllocatorTy >
void llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset ( )
inline

◆ setAllowNonDeterministicOutput()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setAllowNonDeterministicOutput ( bool  AllowNonDeterministicOutput)
inlineoverridevirtual

◆ setEstimatedObjfilesAmount()

void DWARFLinkerImpl::setEstimatedObjfilesAmount ( unsigned  ObjFilesNum)
overridevirtual

Set estimated objects files amount, for preliminary data allocation.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 86 of file DWARFLinkerImpl.cpp.

References llvm::dwarf_linker::parallel::DWARFLinkerImpl::ObjectContexts.

◆ setInputVerificationHandler()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setInputVerificationHandler ( InputVerificationHandlerTy  Handler)
inlineoverridevirtual

◆ setKeepFunctionForStatic()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setKeepFunctionForStatic ( bool  KeepFunctionForStatic)
inlineoverridevirtual

◆ setNoODR()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setNoODR ( bool  NoODR)
inlineoverridevirtual

◆ setNumThreads()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setNumThreads ( unsigned  NumThreads)
inlineoverridevirtual

◆ setObjectPrefixMap()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setObjectPrefixMap ( ObjectPrefixMapTy Map)
inlineoverridevirtual

◆ setPrependPath()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setPrependPath ( StringRef  Ppath)
inlineoverridevirtual

◆ setRedZoneSize()

template<typename AllocatorTy >
void llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize ( size_t  NewSize)
inline

◆ setStatistics()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setStatistics ( bool  Statistics)
inlineoverridevirtual

◆ setSwiftInterfacesMap()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setSwiftInterfacesMap ( SwiftInterfacesMapTy Map)
inlineoverridevirtual

◆ setTargetDWARFVersion()

Error llvm::dwarf_linker::parallel::DWARFLinkerImpl::setTargetDWARFVersion ( uint16_t  TargetDWARFVersion)
inlineoverridevirtual

◆ setUpdateIndexTablesOnly()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setUpdateIndexTablesOnly ( bool  UpdateIndexTablesOnly)
inlineoverridevirtual

◆ setVerbosity()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setVerbosity ( bool  Verbose)
inlineoverridevirtual

◆ setVerifyInputDWARF()

void llvm::dwarf_linker::parallel::DWARFLinkerImpl::setVerifyInputDWARF ( bool  Verify)
inlineoverridevirtual

◆ warn() [1/4]

void llvm::dwarf_linker::parallel::DwarfUnit::warn ( const Twine Warning)
inline

◆ warn() [2/4]

void llvm::dwarf_linker::parallel::CompileUnit::warn ( const Twine Warning,
const DWARFDebugInfoEntry DieEntry 
)
inline

◆ warn() [3/4]

void llvm::dwarf_linker::parallel::CompileUnit::warn ( const Twine Warning,
const DWARFDie DIE = nullptr 
)
inline

◆ warn() [4/4]

void llvm::dwarf_linker::parallel::CompileUnit::warn ( Error  Warning,
const DWARFDie DIE = nullptr 
)
inline