LLVM 19.0.0git
Classes | Typedefs | Enumerations | Functions
llvm::dwarf_linker::parallel Namespace Reference

Classes

class  AcceleratorRecordsSaver
 This class helps to store information for accelerator entries. More...
 
class  ArrayList
 This class is a simple list of T structures. More...
 
struct  AttributesInfo
 Information gathered and exchanged between the various clone*Attr helpers about the attributes of a particular DIE. More...
 
class  CompileUnit
 Stores all information related to a compile unit, be it in its original instance of the object file or its brand new cloned and generated DIE tree. More...
 
struct  DebugDieRefPatch
 This structure is used to update reference to the DIE. More...
 
struct  DebugDieTypeRefPatch
 This structure is used to update reference to the type DIE. More...
 
class  DebugLineSectionEmitter
 This class emits specified line table into the .debug_line section. More...
 
struct  DebugLineStrPatch
 This structure is used to update strings offsets into .debug_line_str. More...
 
struct  DebugLocPatch
 This structure is used to update location list offset into .debug_loc/.debug_loclists. More...
 
struct  DebugOffsetPatch
 
struct  DebugRangePatch
 This structure is used to update range list offset into .debug_ranges/.debug_rnglists. More...
 
struct  DebugStrPatch
 This structure is used to update strings offsets into .debug_str. More...
 
struct  DebugType2TypeDieRefPatch
 This structure is used to update reference to the type DIE. More...
 
struct  DebugTypeDeclFilePatch
 
struct  DebugTypeLineStrPatch
 
struct  DebugTypeStrPatch
 
struct  DebugULEB128DieRefPatch
 This structure is used to update reference to the DIE of ULEB128 form. More...
 
class  DependencyTracker
 This class discovers DIEs dependencies: marks "live" DIEs, marks DIE locations (whether DIE should be cloned as regular DIE or it should be put into the artificial type unit). More...
 
class  DIEAttributeCloner
 This class creates clones of input DIE attributes. More...
 
class  DIEGenerator
 This class is a helper to create output DIE tree. More...
 
class  DwarfEmitterImpl
 This class emits DWARF data to the output stream. More...
 
class  DWARFLinker
 
class  DWARFLinkerImpl
 This class links debug info. More...
 
struct  DWARFLinkerOptions
 linking options More...
 
class  DwarfUnit
 Base class for all Dwarf units(Compile unit/Type table unit). More...
 
class  LinkingGlobalData
 This class keeps data and services common for the whole linking process. More...
 
class  OrderedChildrenIndexAssigner
 This class helps to assign indexes for DIE children. More...
 
class  OutputSections
 This class keeps contents and offsets to the debug sections. More...
 
struct  SectionDescriptor
 This structure is used to keep data of the concrete section. More...
 
struct  SectionDescriptorBase
 This structure keeps data of the concrete section. More...
 
struct  SectionPatch
 There are fields(sizes, offsets) which should be updated after sections are generated. More...
 
class  StringEntryToDwarfStringPoolEntryMap
 This class creates a DwarfStringPoolEntry for the corresponding StringEntry. More...
 
class  SyntheticTypeNameBuilder
 The helper class to build type name based on DIE properties. More...
 
class  TypeEntryBody
 Keeps cloned data for the type DIE. More...
 
class  TypeEntryInfo
 
class  TypePool
 TypePool keeps type descriptors which contain partially cloned DIE correspinding to each type. More...
 
class  TypeUnit
 Type Unit is used to represent an artificial compilation unit which keeps all type information. More...
 
struct  UnitEntryPairTy
 This is a helper structure which keeps a debug info entry with it's containing compilation unit. More...
 

Typedefs

using SectionHandlerTy = std::function< void(std::shared_ptr< SectionDescriptorBase > Section)>
 
using DebugNamesUnitsOffsets = std::vector< std::variant< MCSymbol *, uint64_t > >
 
using CompUnitIDToIdx = DenseMap< unsigned, unsigned >
 
using OffsetToUnitTy = function_ref< CompileUnit *(uint64_t Offset)>
 
using MessageHandlerTy = std::function< void(const Twine &Warning, StringRef Context, const DWARFDie *DIE)>
 
using MacroOffset2UnitMapTy = DenseMap< uint64_t, DwarfUnit * >
 
using OutSectionDataTy = SmallString< 0 >
 Type for section data.
 
using OffsetsPtrVector = SmallVector< uint64_t * >
 Type for list of pointers to patches offsets.
 
using TypeEntry = StringMapEntry< std::atomic< TypeEntryBody * > >
 

Enumerations

enum  ResolveInterCUReferencesMode : bool { Resolve = true , AvoidResolving = false }
 

Functions

ArrayRef< dwarf::AttributegetODRAttributes ()
 
bool isODRLanguage (uint16_t Language)
 

Typedef Documentation

◆ CompUnitIDToIdx

Definition at line 43 of file DWARFEmitterImpl.h.

◆ DebugNamesUnitsOffsets

using llvm::dwarf_linker::parallel::DebugNamesUnitsOffsets = typedef std::vector<std::variant<MCSymbol *, uint64_t> >

Definition at line 42 of file DWARFEmitterImpl.h.

◆ MacroOffset2UnitMapTy

Definition at line 26 of file DWARFLinkerUnit.h.

◆ MessageHandlerTy

using llvm::dwarf_linker::parallel::MessageHandlerTy = typedef std::function<void( const Twine &Warning, StringRef Context, const DWARFDie *DIE)>

Definition at line 24 of file DWARFLinkerGlobalData.h.

◆ OffsetsPtrVector

Type for list of pointers to patches offsets.

Definition at line 146 of file OutputSections.h.

◆ OffsetToUnitTy

Definition at line 20 of file DWARFLinkerCompileUnit.h.

◆ OutSectionDataTy

Type for section data.

Definition at line 143 of file OutputSections.h.

◆ SectionHandlerTy

using llvm::dwarf_linker::parallel::SectionHandlerTy = typedef std::function<void(std::shared_ptr<SectionDescriptorBase> Section)>

Definition at line 117 of file DWARFLinker.h.

◆ TypeEntry

Definition at line 27 of file TypePool.h.

Enumeration Type Documentation

◆ ResolveInterCUReferencesMode

Enumerator
Resolve 
AvoidResolving 

Definition at line 44 of file DWARFLinkerCompileUnit.h.

Function Documentation

◆ getODRAttributes()

ArrayRef< dwarf::Attribute > llvm::dwarf_linker::parallel::getODRAttributes ( )
Returns
list of attributes referencing type DIEs which might be deduplicated. Note: it does not include DW_AT_containing_type attribute to avoid infinite recursion.

Definition at line 1853 of file DWARFLinkerCompileUnit.cpp.

Referenced by llvm::dwarf_linker::parallel::SyntheticTypeNameBuilder::addTypeName(), and llvm::dwarf_linker::parallel::DependencyTracker::maybeAddReferencedRoots().

◆ isODRLanguage()

bool llvm::dwarf_linker::parallel::isODRLanguage ( uint16_t  Language)
inline