|
LLVM 23.0.0git
|
This class helps to store information for accelerator entries. More...
#include "DWARFLinker/Parallel/AcceleratorRecordsSaver.h"
Public Member Functions | |
| AcceleratorRecordsSaver (LinkingGlobalData &GlobalData, CompileUnit &InUnit, CompileUnit *OutUnit) | |
| AcceleratorRecordsSaver (LinkingGlobalData &GlobalData, CompileUnit &InUnit, TypeUnit *OutUnit) | |
| void | save (const DWARFDebugInfoEntry *InputDieEntry, DIE *OutDIE, AttributesInfo &AttrInfo, TypeEntry *TypeEntry) |
Save accelerator info for the specified OutDIE inside OutUnit. | |
Protected Attributes | |
| LinkingGlobalData & | GlobalData |
| Global linking data. | |
| CompileUnit & | InUnit |
| Comiple unit corresponding to input DWARF. | |
| CompileUnit::OutputUnitVariantPtr | OutUnit |
| Compile unit or Artificial type unit corresponding to the output DWARF. | |
This class helps to store information for accelerator entries.
It prepares accelerator info for the certain DIE and store it inside OutUnit.
Definition at line 24 of file AcceleratorRecordsSaver.h.
|
inline |
Definition at line 26 of file AcceleratorRecordsSaver.h.
References AcceleratorRecordsSaver(), GlobalData, InUnit, and OutUnit.
Referenced by AcceleratorRecordsSaver(), and AcceleratorRecordsSaver().
|
inline |
Definition at line 31 of file AcceleratorRecordsSaver.h.
References AcceleratorRecordsSaver(), GlobalData, InUnit, and OutUnit.
|
inlineprotected |
Definition at line 42 of file AcceleratorRecordsSaver.h.
References GlobalData, InUnit, and OutUnit.
|
protected |
Return the output offset of InputDieEntry's immediate non-declaration parent, for use as the DW_IDX_parent field of a name index entry.
Matches classic's one-level lookup: does not walk past a pruned or declaration parent to find a surviving ancestor. Returns std::nullopt if there is no usable parent.
Definition at line 213 of file AcceleratorRecordsSaver.cpp.
References llvm::DWARFDebugInfoEntry::getParentIdx(), InUnit, and llvm::dwarf::toUnsigned().
Referenced by saveNameRecord(), saveNamespaceRecord(), saveObjCNameRecord(), and saveTypeRecord().
| void AcceleratorRecordsSaver::save | ( | const DWARFDebugInfoEntry * | InputDieEntry, |
| DIE * | OutDIE, | ||
| AttributesInfo & | AttrInfo, | ||
| TypeEntry * | TypeEntry ) |
Save accelerator info for the specified OutDIE inside OutUnit.
Side effects: set attributes in AttrInfo.
Definition at line 63 of file AcceleratorRecordsSaver.cpp.
References llvm::StringRef::empty(), llvm::DWARFDie::find(), llvm::StringMapEntry< ValueTy >::getKey(), llvm::DWARFDie::getLinkageName(), llvm::DWARFDie::getShortName(), llvm::DWARFDebugInfoEntry::getTag(), GlobalData, hashFullyQualifiedName(), llvm::dwarf_linker::parallel::AttributesInfo::HasLiveAddress, llvm::dwarf_linker::parallel::AttributesInfo::HasRanges, InUnit, llvm::dwarf_linker::parallel::AttributesInfo::IsDeclaration, llvm::LinkageName, llvm::dwarf_linker::parallel::AttributesInfo::MangledName, llvm::dwarf_linker::parallel::AttributesInfo::Name, saveNameRecord(), saveNamespaceRecord(), saveObjC(), saveTypeRecord(), llvm::ShortName, llvm::StripTemplateParameters(), and llvm::dwarf::toUnsigned().
|
protected |
Definition at line 235 of file AcceleratorRecordsSaver.cpp.
References getDefiningParentOutOffset(), llvm::DIE::getOffset(), llvm::dwarf_linker::parallel::DwarfUnit::Name, OutUnit, llvm::Tag, and llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo::Type.
Referenced by save(), and saveObjC().
|
protected |
Definition at line 249 of file AcceleratorRecordsSaver.cpp.
References assert(), getDefiningParentOutOffset(), llvm::DIE::getOffset(), llvm::dwarf_linker::parallel::DwarfUnit::Namespace, OutUnit, llvm::Tag, and llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo::Type.
Referenced by save().
|
protected |
Definition at line 185 of file AcceleratorRecordsSaver.cpp.
References llvm::StringMapEntry< ValueTy >::getKey(), llvm::getObjCNamesIfSelector(), llvm::DWARFDebugInfoEntry::getTag(), GlobalData, llvm::dwarf_linker::parallel::AttributesInfo::Name, saveNameRecord(), and saveObjCNameRecord().
Referenced by save().
|
protected |
Definition at line 282 of file AcceleratorRecordsSaver.cpp.
References getDefiningParentOutOffset(), llvm::DIE::getOffset(), llvm::dwarf_linker::parallel::DwarfUnit::ObjC, OutUnit, llvm::Tag, and llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo::Type.
Referenced by saveObjC().
|
protected |
Definition at line 297 of file AcceleratorRecordsSaver.cpp.
References assert(), getDefiningParentOutOffset(), llvm::DIE::getOffset(), OutUnit, llvm::Tag, llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo::Type, and llvm::dwarf_linker::parallel::DwarfUnit::Type.
Referenced by save().
|
protected |
Global linking data.
Definition at line 71 of file AcceleratorRecordsSaver.h.
Referenced by AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), save(), and saveObjC().
|
protected |
Comiple unit corresponding to input DWARF.
Definition at line 74 of file AcceleratorRecordsSaver.h.
Referenced by AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), getDefiningParentOutOffset(), and save().
|
protected |
Compile unit or Artificial type unit corresponding to the output DWARF.
Definition at line 77 of file AcceleratorRecordsSaver.h.
Referenced by AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), AcceleratorRecordsSaver(), saveNameRecord(), saveNamespaceRecord(), saveObjCNameRecord(), and saveTypeRecord().