LLVM: llvm::dwarf_linker::parallel::TypeUnit::TypeUnitAccelInfo Struct Reference (original) (raw)

TypeUnitAccelInfo extends AccelInfo structure with type specific fileds. More...

#include "[DWARFLinker/Parallel/DWARFLinkerTypeUnit.h](DWARFLinkerTypeUnit%5F8h%5Fsource.html)"

Public Attributes
DIE * OutDIE = nullptr
Pointer to the output DIE which owns this accelerator record.
TypeEntryBody * TypeEntryBodyPtr = nullptr
Pointer to the type entry body.
Public Attributes inherited from llvm::dwarf_linker::parallel::DwarfUnit::AccelInfo
StringEntry * String = nullptr
Name of the entry.
uint64_t OutOffset
Output offset of the DIE this entry describes.
uint32_t QualifiedNameHash = 0
Hash of the fully qualified name.
dwarf::Tag Tag = dwarf::DW_TAG_null
Tag of the DIE this entry describes.
AccelType Type = AccelType::None
Type of this accelerator record.
bool AvoidForPubSections: 1
Avoid emitting this entry for pub sections.
bool ObjcClassImplementation: 1
Is this an ObjC class implementation?

TypeUnitAccelInfo extends AccelInfo structure with type specific fileds.

We need these additional fields to decide whether OutDIE should have an accelerator record or not. The TypeEntryBodyPtr can refer to the declaration DIE and definition DIE corresponding to the type entry. Only one of them would be used in final output. So if TypeUnitAccelInfo refers OutDIE which does not match with TypeEntryBodyPtr->getFinalDie() then such record should be skipped.

Definition at line 46 of file DWARFLinkerTypeUnit.h.

OutDIE

DIE* llvm::dwarf_linker::parallel::TypeUnit::TypeUnitAccelInfo::OutDIE = nullptr

TypeEntryBodyPtr

TypeEntryBody* llvm::dwarf_linker::parallel::TypeUnit::TypeUnitAccelInfo::TypeEntryBodyPtr = nullptr


The documentation for this struct was generated from the following file: