LLVM: llvm::dwarf_linker::parallel::DwarfUnit Class Reference (original) (raw)
Base class for all Dwarf units(Compile unit/Type table unit). More...
#include "[DWARFLinker/Parallel/DWARFLinkerUnit.h](DWARFLinkerUnit%5F8h%5Fsource.html)"
| Classes | |
|---|---|
| struct | AccelInfo |
| This structure keeps fields which would be used for creating accelerator table. More... |
| Public Member Functions | |
|---|---|
| virtual | ~DwarfUnit ()=default |
| DwarfUnit (LinkingGlobalData &GlobalData, unsigned ID, StringRef ClangModuleName) | |
| unsigned | getUniqueID () const |
| Unique id of the unit. | |
| uint64_t | getUnitSize () const |
| Returns size of this(newly generated) compile unit. | |
| StringRef | getUnitName () const |
| Returns this unit name. | |
| StringRef | getSysRoot () |
| Return the DW_AT_LLVM_sysroot of the compile unit or an empty StringRef. | |
| bool | isClangModule () const |
| Return true if this compile unit is from Clang module. | |
| const std::string & | getClangModuleName () const |
| Return Clang module name;. | |
| LinkingGlobalData & | getGlobalData () |
| Return global data. | |
| bool | isInterconnectedCU () const |
| Returns true if unit is inter-connected(it references/referenced by other unit). | |
| void | setInterconnectedCU () |
| Mark this unit as inter-connected(it references/referenced by other unit). | |
| void | assignAbbrev (DIEAbbrev &Abbrev) |
| Adds Abbrev into unit`s abbreviation table. | |
| const std::vector< std::unique_ptr< DIEAbbrev > > & | getAbbreviations () const |
| Returns abbreviations for this compile unit. | |
| DIE * | getOutUnitDIE () |
| Returns output unit DIE. | |
| void | setOutUnitDIE (DIE *UnitDie) |
| Set output unit DIE. | |
| dwarf::Tag | getTag () const |
| Returns unit DWARF tag. | |
| Error | emitAbbreviations () |
| Error | emitDebugInfo (const Triple &TargetTriple) |
| Emit .debug_info section for unit DIEs. | |
| Error | emitDebugLine (const Triple &TargetTriple, const DWARFDebugLine::LineTable &OutLineTable) |
| Emit .debug_line section. | |
| Error | emitDebugStringOffsetSection () |
| Emit the .debug_str_offsets section for current unit. | |
| void | warn (const Twine &Warning) |
| void | error (const Twine &Err) |
| void | emitPubAccelerators () |
| Emit .debug_pubnames and .debug_pubtypes for Unit. | |
| virtual void | forEachAcceleratorRecord (function_ref< void(AccelInfo &)> Handler)=0 |
| Enumerates accelerator data. | |
| virtual uint64_t | getDebugStrIndex (const StringEntry *String) |
| Returns index(inside .debug_str_offsets) of specified string. | |
| Public Member Functions inherited from llvm::dwarf_linker::parallel::OutputSections | |
| OutputSections (LinkingGlobalData &GlobalData) | |
| void | setOutputFormat (dwarf::FormParams Format, llvm::endianness Endianness) |
| Sets output format for all keeping sections. | |
| const SectionDescriptor & | getSectionDescriptor (DebugSectionKind SectionKind) const |
| Returns descriptor for the specified section of SectionKind. | |
| SectionDescriptor & | getSectionDescriptor (DebugSectionKind SectionKind) |
| Returns descriptor for the specified section of SectionKind. | |
| std::optional< const SectionDescriptor * > | tryGetSectionDescriptor (DebugSectionKind SectionKind) const |
| Returns descriptor for the specified section of SectionKind. | |
| std::optional< SectionDescriptor * > | tryGetSectionDescriptor (DebugSectionKind SectionKind) |
| Returns descriptor for the specified section of SectionKind. | |
| SectionDescriptor & | getOrCreateSectionDescriptor (DebugSectionKind SectionKind) |
| Returns descriptor for the specified section of SectionKind. | |
| void | eraseSections () |
| Erases data of all sections. | |
| void | forEach (function_ref< void(SectionDescriptor &)> Handler) |
| Enumerate all sections and call Handler for each. | |
| void | forEach (function_ref< void(std::shared_ptr< SectionDescriptor > Section)> Handler) |
| Enumerate all sections and call Handler for each. | |
| void | assignSectionsOffsetAndAccumulateSize (std::array< uint64_t, SectionKindsNum > &SectionSizesAccumulator) |
| Enumerate all sections, for each section set current offset (kept by SectionSizesAccumulator), update current offset with section length. | |
| void | applyPatches (SectionDescriptor &Section, StringEntryToDwarfStringPoolEntryMap &DebugStrStrings, StringEntryToDwarfStringPoolEntryMap &DebugLineStrStrings, TypeUnit *TypeUnitPtr) |
| Enumerate all sections, for each section apply all section patches. | |
| llvm::endianness | getEndianness () const |
| Endiannes for the sections. | |
| uint16_t | getVersion () const |
| Return DWARF version. | |
| uint16_t | getDebugInfoHeaderSize () const |
| Return size of header of debug_info table. | |
| uint16_t | getDebugAddrHeaderSize () const |
| Return size of header of debug_ table. | |
| uint16_t | getDebugStrOffsetsHeaderSize () const |
| Return size of header of debug_str_offsets table. | |
| const dwarf::FormParams & | getFormParams () const |
| Return size of address. |
| Protected Types | |
|---|---|
| using | FileNamesCache |
| Cache for file names for this unit. | |
| Protected Types inherited from llvm::dwarf_linker::parallel::OutputSections | |
| using | SectionsSetTy |
| All keeping sections. |
| Protected Attributes | |
|---|---|
| unsigned | ID = 0 |
| Unique ID for the unit. | |
| std::string | UnitName |
| The name of this unit. | |
| std::string | SysRoot |
| The DW_AT_LLVM_sysroot of this unit. | |
| std::string | ClangModuleName |
| If this is a Clang module, this holds the module's name. | |
| uint64_t | UnitSize = 0 |
| dwarf::Tag | UnitTag = dwarf::DW_TAG_null |
| DWARF unit tag. | |
| std::atomic< bool > | IsInterconnectedCU = {false} |
| true if current unit references_to/is_referenced by other unit. | |
| FoldingSet< DIEAbbrev > | AbbreviationsSet |
| FoldingSet that uniques the abbreviations. | |
| std::vector< std::unique_ptr< DIEAbbrev > > | Abbreviations |
| Storage for the unique Abbreviations. | |
| DIE * | OutUnitDIE = nullptr |
| Output unit DIE. | |
| FileNamesCache | FileNames |
| IndexedValuesMap< const StringEntry * > | DebugStringIndexMap |
| Maps a string into the index inside .debug_str_offsets section. | |
| Protected Attributes inherited from llvm::dwarf_linker::parallel::OutputSections | |
| LinkingGlobalData & | GlobalData |
| dwarf::FormParams | Format = {4, 4, dwarf::DWARF32} |
| Format for sections. | |
| llvm::endianness | Endianness = llvm::endianness::native |
| Endiannes for sections. | |
| SectionsSetTy | SectionDescriptors |
Base class for all Dwarf units(Compile unit/Type table unit).
Definition at line 29 of file DWARFLinkerUnit.h.
◆ FileNamesCache
Initial value:
Cache for file names for this unit.
Definition at line 204 of file DWARFLinkerUnit.h.
| virtual llvm::dwarf_linker::parallel::DwarfUnit::~DwarfUnit ( ) | virtualdefault |
|---|
◆ DwarfUnit()
◆ assignAbbrev()
| void DwarfUnit::assignAbbrev | ( | DIEAbbrev & | Abbrev | ) |
|---|
◆ emitDwarfAbbrevEntry()
◆ emitPubAcceleratorEntry()
◆ getAbbreviations()
| const std::vector< std::unique_ptr< DIEAbbrev > > & llvm::dwarf_linker::parallel::DwarfUnit::getAbbreviations ( ) const | inline |
|---|
◆ getClangModuleName()
| const std::string & llvm::dwarf_linker::parallel::DwarfUnit::getClangModuleName ( ) const | inline |
|---|
◆ getDebugStrIndex()
◆ getGlobalData()
| LinkingGlobalData & llvm::dwarf_linker::parallel::DwarfUnit::getGlobalData ( ) | inline |
|---|
◆ getOutUnitDIE()
| DIE * llvm::dwarf_linker::parallel::DwarfUnit::getOutUnitDIE ( ) | inline |
|---|
◆ getSysRoot()
| StringRef llvm::dwarf_linker::parallel::DwarfUnit::getSysRoot ( ) | inline |
|---|
◆ getTag()
| dwarf::Tag llvm::dwarf_linker::parallel::DwarfUnit::getTag ( ) const | inline |
|---|
◆ getUniqueID()
| unsigned llvm::dwarf_linker::parallel::DwarfUnit::getUniqueID ( ) const | inline |
|---|
◆ getUnitName()
| StringRef llvm::dwarf_linker::parallel::DwarfUnit::getUnitName ( ) const | inline |
|---|
◆ getUnitSize()
| uint64_t llvm::dwarf_linker::parallel::DwarfUnit::getUnitSize ( ) const | inline |
|---|
◆ isClangModule()
| bool llvm::dwarf_linker::parallel::DwarfUnit::isClangModule ( ) const | inline |
|---|
◆ isInterconnectedCU()
| bool llvm::dwarf_linker::parallel::DwarfUnit::isInterconnectedCU ( ) const | inline |
|---|
◆ setInterconnectedCU()
| void llvm::dwarf_linker::parallel::DwarfUnit::setInterconnectedCU ( ) | inline |
|---|
◆ setOutUnitDIE()
| void llvm::dwarf_linker::parallel::DwarfUnit::setOutUnitDIE ( DIE * UnitDie) | inline |
|---|
◆ Abbreviations
| std::vector<std::unique_ptr<DIEAbbrev> > llvm::dwarf_linker::parallel::DwarfUnit::Abbreviations | protected |
|---|
◆ AbbreviationsSet
◆ ClangModuleName
| std::string llvm::dwarf_linker::parallel::DwarfUnit::ClangModuleName | protected |
|---|
◆ DebugStringIndexMap
◆ FileNames
| FileNamesCache llvm::dwarf_linker::parallel::DwarfUnit::FileNames | protected |
|---|
◆ ID
| unsigned llvm::dwarf_linker::parallel::DwarfUnit::ID = 0 | protected |
|---|
◆ IsInterconnectedCU
| std::atomic<bool> llvm::dwarf_linker::parallel::DwarfUnit::IsInterconnectedCU = {false} | protected |
|---|
◆ OutUnitDIE
| DIE* llvm::dwarf_linker::parallel::DwarfUnit::OutUnitDIE = nullptr | protected |
|---|
◆ SysRoot
| std::string llvm::dwarf_linker::parallel::DwarfUnit::SysRoot | protected |
|---|
◆ UnitName
| std::string llvm::dwarf_linker::parallel::DwarfUnit::UnitName | protected |
|---|
◆ UnitSize
| uint64_t llvm::dwarf_linker::parallel::DwarfUnit::UnitSize = 0 | protected |
|---|
◆ UnitTag
| dwarf::Tag llvm::dwarf_linker::parallel::DwarfUnit::UnitTag = dwarf::DW_TAG_null | protected |
|---|
The documentation for this class was generated from the following files:
- lib/DWARFLinker/Parallel/DWARFLinkerUnit.h
- lib/DWARFLinker/Parallel/DWARFLinkerUnit.cpp