used to link the debug information (original) (raw)

Emit unit's abbreviations. More...

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.

Emit unit's abbreviations.

AccelType

addAccelTableKind()

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

Allocate()

template

Deallocate()

template

emitAbbreviations()

Error DwarfUnit::emitAbbreviations ( )

emitDebugInfo()

Emit .debug_info section for unit DIEs.

Definition at line 90 of file DWARFLinkerUnit.cpp.

References llvm::dwarf_linker::DebugAbbrev, llvm::dwarf_linker::DebugInfo, Emitter, llvm::dwarf_linker::parallel::OutputSections::getFormParams(), llvm::dwarf_linker::parallel::OutputSections::getOrCreateSectionDescriptor(), getOutUnitDIE(), llvm::dwarf_linker::DWARFLinkerBase::Object, llvm::dwarf_linker::parallel::SectionDescriptor::OS, OutUnitDIE, llvm::dwarf_linker::parallel::SectionDescriptor::setSizesForSectionCreatedByAsmPrinter(), and llvm::Error::success().

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

emitDebugLine()

emitDebugStringOffsetSection()

Error DwarfUnit::emitDebugStringOffsetSection ( )

Emit the .debug_str_offsets section for current unit.

Definition at line 128 of file DWARFLinkerUnit.cpp.

References llvm::dwarf_linker::parallel::SectionDescriptor::apply(), DebugStringIndexMap, llvm::dwarf_linker::DebugStrOffsets, llvm::dwarf_linker::parallel::SectionDescriptor::emitIntVal(), llvm::dwarf_linker::parallel::SectionDescriptor::emitOffset(), llvm::dwarf_linker::parallel::SectionDescriptor::emitUnitLength(), llvm::dwarf::FormParams::getDwarfOffsetByteSize(), llvm::dwarf_linker::parallel::SectionDescriptorBase::getFormParams(), llvm::dwarf_linker::parallel::OutputSections::getOrCreateSectionDescriptor(), llvm::dwarf_linker::parallel::OutputSections::getVersion(), llvm::dwarf_linker::parallel::SectionDescriptor::OS, llvm::String, llvm::Error::success(), and llvm::raw_ostream::tell().

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

emitPubAccelerators()

void DwarfUnit::emitPubAccelerators ( )

Emit .debug_pubnames and .debug_pubtypes for Unit.

Definition at line 200 of file DWARFLinkerUnit.cpp.

References llvm::dwarf_linker::parallel::SectionDescriptor::apply(), llvm::dwarf_linker::DebugPubNames, llvm::dwarf_linker::DebugPubTypes, llvm::dwarf_linker::parallel::SectionDescriptor::emitIntVal(), emitPubAcceleratorEntry(), forEachAcceleratorRecord(), llvm::dwarf::FormParams::getDwarfOffsetByteSize(), llvm::dwarf_linker::parallel::SectionDescriptorBase::getFormParams(), llvm::dwarf_linker::parallel::OutputSections::getOrCreateSectionDescriptor(), Name, llvm::dwarf_linker::parallel::SectionDescriptor::OS, llvm::raw_ostream::tell(), and Type.

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

error() [1/3]

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

getBytesAllocated()

template

getNumberOfAllocators()

template

getThreadLocalAllocator()

template

getTotalMemory()

template

PrintStats()

template

Reset()

template

setAllowNonDeterministicOutput()

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

setEstimatedObjfilesAmount()

void DWARFLinkerImpl::setEstimatedObjfilesAmount ( unsigned ObjFilesNum) overridevirtual

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

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]

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