9#ifndef LLVM_LIB_DWARFLINKER_PARALLEL_ACCELERATORRECORDSSAVER_H
10#define LLVM_LIB_DWARFLINKER_PARALLEL_ACCELERATORRECORDSSAVER_H
51 bool AvoidForPubSections);
59 uint32_t QualifiedNameHash,
bool ObjcClassImplementation,
67 std::optional<uint64_t>
A structured debug information entry.
DWARFDebugInfoEntry - A DIE with only the minimum required data.
CompileUnit & InUnit
Comiple unit corresponding to input DWARF.
AcceleratorRecordsSaver(LinkingGlobalData &GlobalData, CompileUnit &InUnit, CompileUnit::OutputUnitVariantPtr OutUnit)
void saveNameRecord(const DWARFDebugInfoEntry *InputDieEntry, StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, bool AvoidForPubSections)
void saveObjC(const DWARFDebugInfoEntry *InputDieEntry, DIE *OutDIE, AttributesInfo &AttrInfo)
void saveObjCNameRecord(const DWARFDebugInfoEntry *InputDieEntry, StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag)
CompileUnit::OutputUnitVariantPtr OutUnit
Compile unit or Artificial type unit corresponding to the output DWARF.
AcceleratorRecordsSaver(LinkingGlobalData &GlobalData, CompileUnit &InUnit, CompileUnit *OutUnit)
AcceleratorRecordsSaver(LinkingGlobalData &GlobalData, CompileUnit &InUnit, TypeUnit *OutUnit)
LinkingGlobalData & GlobalData
Global linking data.
std::optional< uint64_t > getDefiningParentOutOffset(const DWARFDebugInfoEntry *InputDieEntry)
Return the output offset of InputDieEntry's immediate non-declaration parent, for use as the DW_IDX_p...
void saveTypeRecord(const DWARFDebugInfoEntry *InputDieEntry, StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, uint32_t QualifiedNameHash, bool ObjcClassImplementation, TypeEntry *TypeEntry)
void save(const DWARFDebugInfoEntry *InputDieEntry, DIE *OutDIE, AttributesInfo &AttrInfo, TypeEntry *TypeEntry)
Save accelerator info for the specified OutDIE inside OutUnit.
void saveNamespaceRecord(const DWARFDebugInfoEntry *InputDieEntry, StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, TypeEntry *TypeEntry)
Stores all information related to a compile unit, be it in its original instance of the object file o...
This class keeps data and services common for the whole linking process.
Type Unit is used to represent an artificial compilation unit which keeps all type information.
StringMapEntry< std::atomic< TypeEntryBody * > > TypeEntry
StringMapEntry< EmptyStringSetTag > StringEntry
StringEntry keeps data of the string: the length, external offset and a string body which is placed r...
This is an optimization pass for GlobalISel generic memory operations.
Information gathered and exchanged between the various clone*Attr helpers about the attributes of a p...