LLVM 18.0.0git
|
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... | |
Emit unit's abbreviations.
|
strong |
Enumerator | |
---|---|
None | |
Name | |
Namespace | |
ObjC | |
Type |
Definition at line 112 of file DWARFLinkerUnit.h.
|
inlineoverride |
Add kind of accelerator tables to be generated.
Definition at line 97 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerOptions::AccelTables, assert(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::dwarflinker_parallel::LinkingGlobalData::getOptions(), llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::is_contained(), and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Add kind of accelerator tables to be generated.
|
inline |
Allocate Size bytes of Alignment aligned memory.
Definition at line 43 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, assert(), llvm::parallel::getThreadIndex(), llvm::parallel::PerThreadAllocator< AllocatorTy >::NumOfAllocators, and Size.
|
inline |
Deallocate Ptr to Size bytes of memory allocated by this allocator.
Definition at line 50 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, assert(), llvm::parallel::getThreadIndex(), llvm::parallel::PerThreadAllocator< AllocatorTy >::NumOfAllocators, Ptr, and Size.
Error llvm::dwarflinker_parallel::DwarfUnit::emitAbbreviations | ( | ) |
Definition at line 40 of file DWARFLinkerUnit.cpp.
References llvm::dwarflinker_parallel::DebugAbbrev, llvm::dwarflinker_parallel::DwarfUnit::emitDwarfAbbrevEntry(), llvm::encodeULEB128(), llvm::dwarflinker_parallel::DwarfUnit::getAbbreviations(), llvm::dwarflinker_parallel::OutputSections::getOrCreateSectionDescriptor(), llvm::dwarflinker_parallel::SectionDescriptor::OS, and llvm::Error::success().
Referenced by llvm::dwarflinker_parallel::CompileUnit::cloneAndEmit(), and llvm::dwarflinker_parallel::TypeUnit::finishCloningAndEmit().
Emit .debug_info section for unit DIEs.
Definition at line 91 of file DWARFLinkerUnit.cpp.
References llvm::dwarflinker_parallel::DebugAbbrev, llvm::dwarflinker_parallel::DebugInfo, Emitter, llvm::dwarflinker_parallel::OutputSections::getFormParams(), llvm::dwarflinker_parallel::OutputSections::getOrCreateSectionDescriptor(), llvm::dwarflinker_parallel::DwarfUnit::getOutUnitDIE(), llvm::dwarflinker_parallel::DWARFLinker::Object, llvm::dwarflinker_parallel::SectionDescriptor::OS, llvm::dwarflinker_parallel::DwarfUnit::OutUnitDIE, llvm::dwarflinker_parallel::SectionDescriptor::setSizesForSectionCreatedByAsmPrinter(), llvm::Error::success(), and llvm::dwarf::FormParams::Version.
Referenced by llvm::dwarflinker_parallel::CompileUnit::cloneAndEmit(), and llvm::dwarflinker_parallel::TypeUnit::finishCloningAndEmit().
Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugLine | ( | const Triple & | TargetTriple, |
const DWARFDebugLine::LineTable & | OutLineTable | ||
) |
Emit .debug_line section.
Definition at line 122 of file DWARFLinkerUnit.cpp.
References llvm::dwarflinker_parallel::DebugLineSectionEmitter::emit().
Referenced by llvm::dwarflinker_parallel::CompileUnit::cloneAndEmitLineTable(), and llvm::dwarflinker_parallel::TypeUnit::finishCloningAndEmit().
Error llvm::dwarflinker_parallel::DwarfUnit::emitDebugStringOffsetSection | ( | ) |
Emit the .debug_str_offsets section for current unit.
Definition at line 129 of file DWARFLinkerUnit.cpp.
References llvm::dwarflinker_parallel::SectionDescriptor::apply(), llvm::dwarflinker_parallel::DwarfUnit::DebugStringIndexMap, llvm::dwarflinker_parallel::DebugStrOffsets, llvm::dwarflinker_parallel::SectionDescriptor::emitIntVal(), llvm::dwarflinker_parallel::SectionDescriptor::emitOffset(), llvm::dwarflinker_parallel::SectionDescriptor::emitUnitLength(), llvm::dwarf::FormParams::getDwarfOffsetByteSize(), llvm::dwarflinker_parallel::SectionDescriptor::getFormParams(), llvm::dwarflinker_parallel::OutputSections::getOrCreateSectionDescriptor(), llvm::dwarflinker_parallel::OutputSections::getVersion(), llvm::dwarflinker_parallel::SectionDescriptor::OS, llvm::String, llvm::Error::success(), and llvm::raw_ostream::tell().
Referenced by llvm::dwarflinker_parallel::CompileUnit::cloneAndEmit(), and llvm::dwarflinker_parallel::TypeUnit::finishCloningAndEmit().
void llvm::dwarflinker_parallel::DwarfUnit::emitPubAccelerators | ( | ) |
Emit .debug_pubnames and .debug_pubtypes for Unit
.
Definition at line 201 of file DWARFLinkerUnit.cpp.
References llvm::dwarflinker_parallel::DwarfUnit::forEachAcceleratorRecord(), Info, and llvm::dwarflinker_parallel::DwarfUnit::Type.
Referenced by llvm::dwarflinker_parallel::CompileUnit::cloneAndEmit(), and llvm::dwarflinker_parallel::TypeUnit::finishCloningAndEmit().
Definition at line 105 of file DWARFLinkerUnit.h.
References llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, and llvm::dwarflinker_parallel::LinkingGlobalData::warn().
|
inline |
Definition at line 554 of file DWARFLinkerCompileUnit.h.
References llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, and llvm::dwarflinker_parallel::LinkingGlobalData::warn().
|
inline |
Definition at line 558 of file DWARFLinkerCompileUnit.h.
References llvm::dwarflinker_parallel::LinkingGlobalData::error(), llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, llvm::handleAllErrors(), and Info.
|
pure virtual |
Enumerates accelerator data.
Implemented in llvm::dwarflinker_parallel::CompileUnit, and llvm::dwarflinker_parallel::TypeUnit.
Referenced by llvm::dwarflinker_parallel::DwarfUnit::emitPubAccelerators().
|
inline |
Return allocated size by all allocators.
Definition at line 86 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators(), and Idx.
Referenced by llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated().
|
inline |
Definition at line 62 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::NumOfAllocators.
Referenced by llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory(), llvm::parallel::PerThreadAllocator< AllocatorTy >::PrintStats(), llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset(), and llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize().
|
inline |
Return allocator corresponding to the current thread.
Definition at line 56 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, assert(), llvm::parallel::getThreadIndex(), and llvm::parallel::PerThreadAllocator< AllocatorTy >::NumOfAllocators.
|
inline |
Return total memory size used by all allocators.
Definition at line 76 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory(), and Idx.
Referenced by llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory().
|
inline |
Print statistic for each allocator.
Definition at line 102 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, llvm::errs(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators(), and Idx.
|
inline |
Reset state of allocators.
Definition at line 70 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators(), Idx, and llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset().
Referenced by llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset().
|
inlineoverridevirtual |
Allow generating valid, but non-deterministic output.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 81 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerOptions::AllowNonDeterministicOutput, llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Allow generating valid, but non-deterministic output.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
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.
|
pure virtual |
Set estimated objects files amount, for preliminary data allocation.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set verification handler which would be used to report verification errors.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 113 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::DWARFLinkerOptions::InputVerificationHandler, and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Set verification handler which would be used to report verification errors.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set to keep the enclosing function for a static variable.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 87 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::DWARFLinkerOptions::KeepFunctionForStatic, and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Set to keep the enclosing function for a static variable.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Do not unique types according to ODR.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 72 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::DWARFLinkerOptions::NoODR, and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Do not unique types according to ODR.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Use specified number of threads for parallel files linking.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 92 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, and llvm::dwarflinker_parallel::DWARFLinkerOptions::Threads.
|
pure virtual |
Use specified number of threads for parallel files linking.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set prefix map for objects.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 123 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::DWARFLinkerOptions::ObjectPrefixMap, and llvm::dwarflinker_parallel::LinkingGlobalData::Options.
|
pure virtual |
Set prefix map for objects.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set prepend path for clang modules.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 103 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, and llvm::dwarflinker_parallel::DWARFLinkerOptions::PrependPath.
|
pure virtual |
Set prepend path for clang modules.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inline |
Set red zone for all allocators.
Definition at line 96 of file PerThreadBumpPtrAllocator.h.
References llvm::parallel::PerThreadAllocator< AllocatorTy >::Allocators, llvm::parallel::PerThreadAllocator< AllocatorTy >::getNumberOfAllocators(), Idx, and llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize().
Referenced by llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize().
|
inlineoverridevirtual |
Print statistics to standard output.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 62 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, and llvm::dwarflinker_parallel::DWARFLinkerOptions::Statistics.
|
pure virtual |
Print statistics to standard output.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set map for Swift interfaces.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 118 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, and llvm::dwarflinker_parallel::DWARFLinkerOptions::ParseableSwiftInterfaces.
|
pure virtual |
Set map for Swift interfaces.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Set target DWARF version.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 128 of file DWARFLinkerImpl.h.
References llvm::createStringError(), llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, llvm::Error::success(), and llvm::dwarflinker_parallel::DWARFLinkerOptions::TargetDWARFVersion.
|
pure virtual |
Set target DWARF version.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Update index tables only(do not modify rest of DWARF).
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 75 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, and llvm::dwarflinker_parallel::DWARFLinkerOptions::UpdateIndexTablesOnly.
|
pure virtual |
Update index tables only(do not modify rest of DWARF).
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Allows to generate log of linking process to the standard output.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 57 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, llvm::Verbose, and llvm::dwarflinker_parallel::DWARFLinkerOptions::Verbose.
|
pure virtual |
Allows to generate log of linking process to the standard output.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
|
inlineoverridevirtual |
Verify the input DWARF.
Implements llvm::dwarflinker_parallel::DWARFLinker.
Definition at line 67 of file DWARFLinkerImpl.h.
References llvm::dwarflinker_parallel::DWARFLinkerImpl::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::Options, Verify, and llvm::dwarflinker_parallel::DWARFLinkerOptions::VerifyInputDWARF.
|
pure virtual |
Verify the input DWARF.
Implemented in llvm::dwarflinker_parallel::DWARFLinkerImpl.
Definition at line 103 of file DWARFLinkerUnit.h.
References llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::warn(), and llvm::Warning.
|
inline |
Definition at line 544 of file DWARFLinkerCompileUnit.h.
References llvm::dwarflinker_parallel::CompileUnit::getOrigUnit(), llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::warn(), and llvm::Warning.
|
inline |
Definition at line 534 of file DWARFLinkerCompileUnit.h.
References llvm::dwarflinker_parallel::DwarfUnit::getUnitName(), llvm::dwarflinker_parallel::OutputSections::GlobalData, llvm::dwarflinker_parallel::LinkingGlobalData::warn(), and llvm::Warning.
Referenced by llvm::dwarflinker_parallel::CompileUnit::analyzeImportedModule(), llvm::dwarflinker_parallel::DIEAttributeCloner::clone(), llvm::dwarflinker_parallel::DIEAttributeCloner::cloneAddressAttr(), llvm::dwarflinker_parallel::CompileUnit::cloneAndEmitLineTable(), llvm::dwarflinker_parallel::CompileUnit::cloneDieAttrExpression(), llvm::dwarflinker_parallel::DIEAttributeCloner::cloneDieRefAttr(), llvm::dwarflinker_parallel::DIEAttributeCloner::cloneScalarAttr(), llvm::dwarflinker_parallel::DIEAttributeCloner::cloneStringAttr(), and llvm::dwarflinker_parallel::CompileUnit::getDirAndFilenameFromLineTable().