LLVM 22.0.0git
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

Add kind of accelerator tables to be generated.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 99 of file DWARFLinkerImpl.h.

References assert(), GlobalData, and llvm::is_contained().

◆ Allocate()

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

Allocate Size bytes of Alignment aligned memory.

Definition at line 43 of file PerThreadBumpPtrAllocator.h.

◆ Deallocate()

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

Deallocate Ptr to Size bytes of memory allocated by this allocator.

Definition at line 50 of file PerThreadBumpPtrAllocator.h.

◆ emitAbbreviations()

◆ emitDebugInfo()

◆ emitDebugLine()

◆ emitDebugStringOffsetSection()

◆ emitPubAccelerators()

◆ error() [1/3]

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

◆ error() [2/3]

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

◆ error() [3/3]

void llvm::dwarf_linker::parallel::DwarfUnit::error ( const Twine & Err)
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.

Referenced by emitPubAccelerators().

◆ getBytesAllocated()

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

Return allocated size by all allocators.

Definition at line 86 of file PerThreadBumpPtrAllocator.h.

Referenced by llvm::parallel::PerThreadAllocator< BumpPtrAllocator >::getBytesAllocated().

◆ getNumberOfAllocators()

◆ getThreadLocalAllocator()

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

Return allocator corresponding to the current thread.

Definition at line 56 of file PerThreadBumpPtrAllocator.h.

◆ getTotalMemory()

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

Return total memory size used by all allocators.

Definition at line 76 of file PerThreadBumpPtrAllocator.h.

Referenced by llvm::parallel::PerThreadAllocator< BumpPtrAllocator >::getTotalMemory().

◆ PrintStats()

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

Print statistic for each allocator.

Definition at line 102 of file PerThreadBumpPtrAllocator.h.

◆ Reset()

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

Reset state of allocators.

Definition at line 70 of file PerThreadBumpPtrAllocator.h.

Referenced by llvm::parallel::PerThreadAllocator< BumpPtrAllocator >::Reset().

◆ setAllowNonDeterministicOutput()

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

Allow generating valid, but non-deterministic output.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 83 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setEstimatedObjfilesAmount()

void DWARFLinkerImpl::setEstimatedObjfilesAmount ( unsigned ObjFilesNum)
overridevirtual

Set estimated objects files amount, for preliminary data allocation.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 85 of file DWARFLinkerImpl.cpp.

References ObjectContexts.

◆ setInputVerificationHandler()

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

Set verification handler which would be used to report verification errors.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 115 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setKeepFunctionForStatic()

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

Set to keep the enclosing function for a static variable.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 89 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setNoODR()

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

Do not unique types according to ODR.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 74 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setNumThreads()

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

Use specified number of threads for parallel files linking.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 94 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setObjectPrefixMap()

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

Set prefix map for objects.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 125 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setPrependPath()

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

Set prepend path for clang modules.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 105 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setRedZoneSize()

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

Set red zone for all allocators.

Definition at line 96 of file PerThreadBumpPtrAllocator.h.

Referenced by llvm::parallel::PerThreadAllocator< BumpPtrAllocator >::setRedZoneSize().

◆ setStatistics()

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

Print statistics to standard output.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 64 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setSwiftInterfacesMap()

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

Set map for Swift interfaces.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 120 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setTargetDWARFVersion()

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

Set target DWARF version.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 130 of file DWARFLinkerImpl.h.

References llvm::createStringError(), GlobalData, and llvm::Error::success().

◆ setUpdateIndexTablesOnly()

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

Update index tables only(do not modify rest of DWARF).

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 77 of file DWARFLinkerImpl.h.

References GlobalData.

◆ setVerbosity()

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

Allows to generate log of linking process to the standard output.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 59 of file DWARFLinkerImpl.h.

References GlobalData, and llvm::Verbose.

◆ setVerifyInputDWARF()

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

Verify the input DWARF.

Implements llvm::dwarf_linker::DWARFLinkerBase.

Definition at line 69 of file DWARFLinkerImpl.h.

References GlobalData, and Verify.

◆ warn() [1/4]

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

◆ warn() [2/4]

◆ warn() [3/4]

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

◆ warn() [4/4]

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