LLVM 20.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 Member Functions | |
AcceleratorRecordsSaver (LinkingGlobalData &GlobalData, CompileUnit &InUnit, CompileUnit::OutputUnitVariantPtr OutUnit) | |
void | saveObjC (const DWARFDebugInfoEntry *InputDieEntry, DIE *OutDIE, AttributesInfo &AttrInfo) |
void | saveNameRecord (StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, bool AvoidForPubSections) |
void | saveNamespaceRecord (StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, TypeEntry *TypeEntry) |
void | saveObjCNameRecord (StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag) |
void | saveTypeRecord (StringEntry *Name, DIE *OutDIE, dwarf::Tag Tag, uint32_t QualifiedNameHash, bool ObjcClassImplementation, TypeEntry *TypeEntry) |
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.
|
inline |
Definition at line 31 of file AcceleratorRecordsSaver.h.
|
inlineprotected |
Definition at line 42 of file AcceleratorRecordsSaver.h.
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::dwarf_linker::parallel::DWARFLinkerOptions::AccelTables, llvm::SmallVectorBase< Size_T >::empty(), llvm::StringRef::empty(), llvm::DWARFDie::find(), llvm::dwarf_linker::parallel::CompileUnit::getDIE(), llvm::StringMapEntry< ValueTy >::getKey(), llvm::DWARFDie::getLinkageName(), llvm::dwarf_linker::parallel::LinkingGlobalData::getOptions(), llvm::DWARFDie::getShortName(), llvm::dwarf_linker::parallel::LinkingGlobalData::getStringPool(), llvm::DWARFDebugInfoEntry::getTag(), GlobalData, hashFullyQualifiedName(), llvm::dwarf_linker::parallel::AttributesInfo::HasLiveAddress, llvm::dwarf_linker::parallel::AttributesInfo::HasRanges, llvm::ConcurrentHashTableByPtr< KeyTy, KeyDataTy, AllocatorTy, Info >::insert(), InUnit, llvm::dwarf_linker::parallel::AttributesInfo::IsDeclaration, llvm::LinkageName, llvm::dwarf_linker::parallel::AttributesInfo::MangledName, llvm::dwarf_linker::parallel::AttributesInfo::Name, Name, saveNameRecord(), saveNamespaceRecord(), saveObjC(), saveTypeRecord(), llvm::ShortName, llvm::StripTemplateParameters(), and llvm::dwarf::toUnsigned().
|
protected |
Definition at line 207 of file AcceleratorRecordsSaver.cpp.
References llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsCompileUnit(), llvm::DIE::getOffset(), Info, llvm::dwarf_linker::parallel::DwarfUnit::Name, Name, OutUnit, and llvm::dwarf_linker::parallel::CompileUnit::saveAcceleratorInfo().
Referenced by save(), and saveObjC().
|
protected |
Definition at line 220 of file AcceleratorRecordsSaver.cpp.
References assert(), llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsCompileUnit(), llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsTypeUnit(), llvm::DIE::getOffset(), llvm::StringMapEntryStorage< ValueTy >::getValue(), Info, llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::isCompileUnit(), Name, llvm::dwarf_linker::parallel::DwarfUnit::Namespace, OutUnit, llvm::dwarf_linker::parallel::CompileUnit::saveAcceleratorInfo(), and llvm::dwarf_linker::parallel::TypeUnit::saveAcceleratorInfo().
Referenced by save().
|
protected |
Definition at line 182 of file AcceleratorRecordsSaver.cpp.
References llvm::StringMapEntry< ValueTy >::getKey(), llvm::getObjCNamesIfSelector(), llvm::dwarf_linker::parallel::LinkingGlobalData::getStringPool(), llvm::DWARFDebugInfoEntry::getTag(), GlobalData, llvm::ConcurrentHashTableByPtr< KeyTy, KeyDataTy, AllocatorTy, Info >::insert(), llvm::dwarf_linker::parallel::AttributesInfo::Name, saveNameRecord(), and saveObjCNameRecord().
Referenced by save().
|
protected |
Definition at line 248 of file AcceleratorRecordsSaver.cpp.
References llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsCompileUnit(), llvm::DIE::getOffset(), Info, Name, llvm::dwarf_linker::parallel::DwarfUnit::ObjC, OutUnit, and llvm::dwarf_linker::parallel::CompileUnit::saveAcceleratorInfo().
Referenced by saveObjC().
|
protected |
Definition at line 261 of file AcceleratorRecordsSaver.cpp.
References assert(), llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsCompileUnit(), llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::getAsTypeUnit(), llvm::DIE::getOffset(), llvm::StringMapEntryStorage< ValueTy >::getValue(), Info, llvm::dwarf_linker::parallel::CompileUnit::OutputUnitVariantPtr::isCompileUnit(), Name, OutUnit, llvm::dwarf_linker::parallel::CompileUnit::saveAcceleratorInfo(), llvm::dwarf_linker::parallel::TypeUnit::saveAcceleratorInfo(), and llvm::dwarf_linker::parallel::DwarfUnit::Type.
Referenced by save().
|
protected |
Global linking data.
Definition at line 59 of file AcceleratorRecordsSaver.h.
Referenced by save(), and saveObjC().
|
protected |
Comiple unit corresponding to input DWARF.
Definition at line 62 of file AcceleratorRecordsSaver.h.
Referenced by save().
|
protected |
Compile unit or Artificial type unit corresponding to the output DWARF.
Definition at line 65 of file AcceleratorRecordsSaver.h.
Referenced by saveNameRecord(), saveNamespaceRecord(), saveObjCNameRecord(), and saveTypeRecord().