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

Emit unit's abbreviations. More...

Classes

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

Enumerations

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

Functions

virtual void llvm::dwarflinker_parallel::DWARFLinker::setVerbosity (bool Verbose)=0
 Allows to generate log of linking process to the standard output.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setStatistics (bool Statistics)=0
 Print statistics to standard output.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setVerifyInputDWARF (bool Verify)=0
 Verify the input DWARF.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setNoODR (bool NoODR)=0
 Do not unique types according to ODR.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setUpdateIndexTablesOnly (bool UpdateIndexTablesOnly)=0
 Update index tables only(do not modify rest of DWARF).
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setAllowNonDeterministicOutput (bool AllowNonDeterministicOutput)=0
 Allow generating valid, but non-deterministic output.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setKeepFunctionForStatic (bool KeepFunctionForStatic)=0
 Set to keep the enclosing function for a static variable.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setNumThreads (unsigned NumThreads)=0
 Use specified number of threads for parallel files linking.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::addAccelTableKind (AccelTableKind Kind)=0
 Add kind of accelerator tables to be generated.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setPrependPath (const std::string &Ppath)=0
 Set prepend path for clang modules.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setEstimatedObjfilesAmount (unsigned ObjFilesNum)=0
 Set estimated objects files amount, for preliminary data allocation.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setInputVerificationHandler (InputVerificationHandlerTy Handler)=0
 Set verification handler which would be used to report verification errors.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setSwiftInterfacesMap (SwiftInterfacesMapTy *Map)=0
 Set map for Swift interfaces.
 
virtual void llvm::dwarflinker_parallel::DWARFLinker::setObjectPrefixMap (ObjectPrefixMapTy *Map)=0
 Set prefix map for objects.
 
virtual Error llvm::dwarflinker_parallel::DWARFLinker::setTargetDWARFVersion (uint16_t TargetDWARFVersion)=0
 Set target DWARF version.
 
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::dwarflinker_parallel::CompileUnit::warn (const Twine &Warning, const DWARFDie *DIE=nullptr)
 
void llvm::dwarflinker_parallel::CompileUnit::warn (Error Warning, const DWARFDie *DIE=nullptr)
 
void llvm::dwarflinker_parallel::CompileUnit::warn (const Twine &Warning, const DWARFDebugInfoEntry *DieEntry)
 
void llvm::dwarflinker_parallel::CompileUnit::error (const Twine &Err, const DWARFDie *DIE=nullptr)
 
void llvm::dwarflinker_parallel::CompileUnit::error (Error Err, const DWARFDie *DIE=nullptr)
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setVerbosity (bool Verbose) override
 Allows to generate log of linking process to the standard output.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setStatistics (bool Statistics) override
 Print statistics to standard output.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setVerifyInputDWARF (bool Verify) override
 Verify the input DWARF.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setNoODR (bool NoODR) override
 Do not unique types according to ODR.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setUpdateIndexTablesOnly (bool UpdateIndexTablesOnly) override
 Update index tables only(do not modify rest of DWARF).
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setAllowNonDeterministicOutput (bool AllowNonDeterministicOutput) override
 Allow generating valid, but non-deterministic output.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setKeepFunctionForStatic (bool KeepFunctionForStatic) override
 Set to keep the enclosing function for a static variable.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setNumThreads (unsigned NumThreads) override
 Use specified number of threads for parallel files linking.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::addAccelTableKind (AccelTableKind Kind) override
 Add kind of accelerator tables to be generated.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setPrependPath (const std::string &Ppath) override
 Set prepend path for clang modules.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setEstimatedObjfilesAmount (unsigned ObjFilesNum) override
 Set estimated objects files amount, for preliminary data allocation.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setInputVerificationHandler (InputVerificationHandlerTy Handler) override
 Set verification handler which would be used to report verification errors.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setSwiftInterfacesMap (SwiftInterfacesMapTy *Map) override
 Set map for Swift interfaces.
 
void llvm::dwarflinker_parallel::DWARFLinkerImpl::setObjectPrefixMap (ObjectPrefixMapTy *Map) override
 Set prefix map for objects.
 
Error llvm::dwarflinker_parallel::DWARFLinkerImpl::setTargetDWARFVersion (uint16_t TargetDWARFVersion) override
 Set target DWARF version.
 
Error llvm::dwarflinker_parallel::DwarfUnit::emitAbbreviations ()
 
Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugInfo (const Triple &TargetTriple)
 Emit .debug_info section for unit DIEs.
 
Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugLine (const Triple &TargetTriple, const DWARFDebugLine::LineTable &OutLineTable)
 Emit .debug_line section.
 
Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugStringOffsetSection ()
 Emit the .debug_str_offsets section for current unit.
 
void llvm::dwarflinker_parallel::DwarfUnit::warn (const Twine &Warning)
 
void llvm::dwarflinker_parallel::DwarfUnit::error (const Twine &Err)
 
void llvm::dwarflinker_parallel::DwarfUnit::emitPubAccelerators ()
 Emit .debug_pubnames and .debug_pubtypes for Unit.
 
virtual void llvm::dwarflinker_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 112 of file DWARFLinkerUnit.h.

Function Documentation

◆ addAccelTableKind() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::addAccelTableKind ( AccelTableKind  Kind)
inlineoverride

◆ addAccelTableKind() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::addAccelTableKind ( AccelTableKind  Kind)
pure virtual

Add kind of accelerator tables to be generated.

◆ 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 llvm::dwarflinker_parallel::DwarfUnit::emitAbbreviations ( )

◆ emitDebugInfo()

Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugInfo ( const Triple TargetTriple)

◆ emitDebugLine()

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

◆ emitDebugStringOffsetSection()

Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugStringOffsetSection ( )

◆ emitPubAccelerators()

void llvm::dwarflinker_parallel::DwarfUnit::emitPubAccelerators ( )

◆ error() [1/3]

void llvm::dwarflinker_parallel::DwarfUnit::error ( const Twine Err)
inline

◆ error() [2/3]

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

◆ error() [3/3]

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

◆ forEachAcceleratorRecord()

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

◆ 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() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setAllowNonDeterministicOutput ( bool  AllowNonDeterministicOutput)
inlineoverridevirtual

◆ setAllowNonDeterministicOutput() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setAllowNonDeterministicOutput ( bool  AllowNonDeterministicOutput)
pure virtual

Allow generating valid, but non-deterministic output.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setEstimatedObjfilesAmount() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setEstimatedObjfilesAmount ( unsigned  ObjFilesNum)
overridevirtual

Set estimated objects files amount, for preliminary data allocation.

Implements llvm::dwarflinker_parallel::DWARFLinker.

Definition at line 104 of file DWARFLinkerImpl.cpp.

References llvm::dwarflinker_parallel::DWARFLinkerImpl::ObjectContexts.

◆ setEstimatedObjfilesAmount() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setEstimatedObjfilesAmount ( unsigned  ObjFilesNum)
pure virtual

Set estimated objects files amount, for preliminary data allocation.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setInputVerificationHandler() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setInputVerificationHandler ( InputVerificationHandlerTy  Handler)
inlineoverridevirtual

◆ setInputVerificationHandler() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setInputVerificationHandler ( InputVerificationHandlerTy  Handler)
pure virtual

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

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setKeepFunctionForStatic() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setKeepFunctionForStatic ( bool  KeepFunctionForStatic)
inlineoverridevirtual

◆ setKeepFunctionForStatic() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setKeepFunctionForStatic ( bool  KeepFunctionForStatic)
pure virtual

Set to keep the enclosing function for a static variable.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setNoODR() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setNoODR ( bool  NoODR)
inlineoverridevirtual

◆ setNoODR() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setNoODR ( bool  NoODR)
pure virtual

Do not unique types according to ODR.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setNumThreads() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setNumThreads ( unsigned  NumThreads)
inlineoverridevirtual

◆ setNumThreads() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setNumThreads ( unsigned  NumThreads)
pure virtual

Use specified number of threads for parallel files linking.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setObjectPrefixMap() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setObjectPrefixMap ( ObjectPrefixMapTy Map)
inlineoverridevirtual

◆ setObjectPrefixMap() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setObjectPrefixMap ( ObjectPrefixMapTy Map)
pure virtual

Set prefix map for objects.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setPrependPath() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setPrependPath ( const std::string &  Ppath)
inlineoverridevirtual

◆ setPrependPath() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setPrependPath ( const std::string &  Ppath)
pure virtual

Set prepend path for clang modules.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setRedZoneSize()

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

◆ setStatistics() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setStatistics ( bool  Statistics)
inlineoverridevirtual

◆ setStatistics() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setStatistics ( bool  Statistics)
pure virtual

Print statistics to standard output.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setSwiftInterfacesMap() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setSwiftInterfacesMap ( SwiftInterfacesMapTy Map)
inlineoverridevirtual

◆ setSwiftInterfacesMap() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setSwiftInterfacesMap ( SwiftInterfacesMapTy Map)
pure virtual

Set map for Swift interfaces.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setTargetDWARFVersion() [1/2]

Error llvm::dwarflinker_parallel::DWARFLinkerImpl::setTargetDWARFVersion ( uint16_t  TargetDWARFVersion)
inlineoverridevirtual

◆ setTargetDWARFVersion() [2/2]

virtual Error llvm::dwarflinker_parallel::DWARFLinker::setTargetDWARFVersion ( uint16_t  TargetDWARFVersion)
pure virtual

Set target DWARF version.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setUpdateIndexTablesOnly() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setUpdateIndexTablesOnly ( bool  UpdateIndexTablesOnly)
inlineoverridevirtual

◆ setUpdateIndexTablesOnly() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setUpdateIndexTablesOnly ( bool  UpdateIndexTablesOnly)
pure virtual

◆ setVerbosity() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setVerbosity ( bool  Verbose)
inlineoverridevirtual

◆ setVerbosity() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setVerbosity ( bool  Verbose)
pure virtual

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

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ setVerifyInputDWARF() [1/2]

void llvm::dwarflinker_parallel::DWARFLinkerImpl::setVerifyInputDWARF ( bool  Verify)
inlineoverridevirtual

◆ setVerifyInputDWARF() [2/2]

virtual void llvm::dwarflinker_parallel::DWARFLinker::setVerifyInputDWARF ( bool  Verify)
pure virtual

Verify the input DWARF.

Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.

◆ warn() [1/4]

void llvm::dwarflinker_parallel::DwarfUnit::warn ( const Twine Warning)
inline

◆ warn() [2/4]

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

◆ warn() [3/4]

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

◆ warn() [4/4]

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