LLVM: llvm::dwarf_linker::classic::CompileUnit Class Reference (original ) (raw )Stores all information relating to a compile unit, be it in its original instance in the object file to its brand new cloned and generated DIE tree. More...
#include "[llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h](include%5F2llvm%5F2DWARFLinker%5F2Classic%5F2DWARFLinkerCompileUnit%5F8h%5Fsource.html)"
Public Member Functions
CompileUnit (DWARFUnit &OrigUnit, unsigned ID , bool CanUseODR, StringRef ClangModuleName)
DWARFUnit &
getOrigUnit () const
unsigned
getUniqueID () const
void
createOutputDIE ()
DIE *
getOutputUnitDIE () const
dwarf::Tag
getTag () const
bool
hasODR () const
bool
isClangModule () const
LLVM_ABI uint16_t
getLanguage ()
LLVM_ABI StringRef
getSysRoot ()
Return the DW_AT_LLVM_sysroot of the compile unit or an empty StringRef .
const std::string &
getClangModuleName () const
DIEInfo &
getInfo (unsigned Idx)
const DIEInfo &
getInfo (unsigned Idx) const
DIEInfo &
getInfo (const DWARFDie &Die)
uint64_t
getStartOffset () const
uint64_t
getNextUnitOffset () const
void
setStartOffset (uint64_t DebugInfoSize )
std::optional< uint64_t >
getLowPc () const
uint64_t
getHighPc () const
bool
hasLabelAt (uint64_t Addr) const
const RangesTy &
getFunctionRanges () const
const RngListAttributesTy &
getRangesAttributes ()
std::optional< PatchLocation >
getUnitRangesAttribute () const
const LocListAttributesTy &
getLocationAttributes () const
const StmtSeqListAttributesTy &
getStmtSeqListAttributes () const
LLVM_ABI void
markEverythingAsKept ()
Mark every DIE in this unit as kept.
LLVM_ABI uint64_t
computeNextUnitOffset (uint16_t DwarfVersion)
Compute the end offset for this unit.
LLVM_ABI void
noteForwardReference (DIE *Die, const CompileUnit *RefUnit, DeclContext *Ctxt, PatchLocation Attr)
Keep track of a forward reference to DIE Die in RefUnit by Attr.
LLVM_ABI void
fixupForwardReferences ()
Apply all fixups recorded by noteForwardReference() .
LLVM_ABI void
addLabelLowPc (uint64_t LabelLowPc, int64_t PcOffset)
Add the low_pc of a label that is relocated by applying offset PCOffset.
LLVM_ABI void
addFunctionRange (uint64_t LowPC, uint64_t HighPC, int64_t PCOffset)
Add a function range [LowPC, HighPC) that is relocated by applying offset PCOffset.
LLVM_ABI void
noteRangeAttribute (const DIE &Die, PatchLocation Attr)
Keep track of a DW_AT_range attribute that we will need to patch up later.
LLVM_ABI void
noteLocationAttribute (PatchLocation Attr)
Keep track of a location attribute pointing to a location list in the debug_loc section.
LLVM_ABI void
noteStmtSeqListAttribute (PatchLocation Attr)
LLVM_ABI void
addNamespaceAccelerator (const DIE *Die, DwarfStringPoolEntryRef Name)
Add a name accelerator entry for Die with Name .
LLVM_ABI void
addNameAccelerator (const DIE *Die, DwarfStringPoolEntryRef Name, bool SkipPubnamesSection=false)
Add a name accelerator entry for Die with Name .
LLVM_ABI void
addObjCAccelerator (const DIE *Die, DwarfStringPoolEntryRef Name, bool SkipPubnamesSection=false)
Add various accelerator entries for Die with Name which is stored in the string table at Offset.
LLVM_ABI void
addTypeAccelerator (const DIE *Die, DwarfStringPoolEntryRef Name, bool ObjcClassImplementation, uint32_t QualifiedNameHash)
Add a type accelerator entry for Die with Name which is stored in the string table at Offset.
const std::vector< AccelInfo > &
getPubnames () const
const std::vector< AccelInfo > &
getPubtypes () const
const std::vector< AccelInfo > &
getNamespaces () const
const std::vector< AccelInfo > &
getObjC () const
MCSymbol *
getLabelBegin ()
void
setLabelBegin (MCSymbol *S)
Stores all information relating to a compile unit, be it in its original instance in the object file to its brand new cloned and generated DIE tree.
Definition at line 65 of file DWARFLinkerCompileUnit.h .
◆ addFunctionRange()
void CompileUnit::addFunctionRange
(
uint64_t
LowPC ,
uint64_t
HighPC ,
int64_t
PCOffset )
◆ addLabelLowPc()
void CompileUnit::addLabelLowPc
(
uint64_t
LabelLowPc ,
int64_t
PcOffset )
◆ addNameAccelerator()◆ addNamespaceAccelerator()◆ addObjCAccelerator()Add various accelerator entries for Die with Name which is stored in the string table at Offset.
Name must be an Objective-C selector.
Definition at line 197 of file DWARFLinkerCompileUnit.cpp .
◆ addTypeAccelerator()Add a type accelerator entry for Die with Name which is stored in the string table at Offset.
Definition at line 209 of file DWARFLinkerCompileUnit.cpp .
◆ computeNextUnitOffset()Compute the end offset for this unit.
Must be called after the CU 's DIEs have been cloned.
Returns
the next unit offset (which is also the current debug_info section size).
Definition at line 127 of file DWARFLinkerCompileUnit.cpp .
◆ createOutputDIE()
void llvm::dwarf_linker::classic::CompileUnit::createOutputDIE ( )
inline
◆ fixupForwardReferences()
void llvm::CompileUnit::fixupForwardReferences
(
)
◆ getClangModuleName()
const std::string & llvm::dwarf_linker::classic::CompileUnit::getClangModuleName ( ) const
inline
◆ getFunctionRanges()
const RangesTy & llvm::dwarf_linker::classic::CompileUnit::getFunctionRanges ( ) const
inline
◆ getHighPc()
uint64_t llvm::dwarf_linker::classic::CompileUnit::getHighPc ( ) const
inline
◆ getInfo() [1/3]◆ getInfo() [2/3]
DIEInfo & llvm::dwarf_linker::classic::CompileUnit::getInfo ( unsigned Idx )
inline
◆ getInfo() [3/3]◆ getLabelBegin()
MCSymbol * llvm::dwarf_linker::classic::CompileUnit::getLabelBegin ( )
inline
◆ getLanguage()
uint16_t llvm::CompileUnit::getLanguage
(
)
◆ getLocationAttributes()◆ getLowPc()
std::optional< uint64_t > llvm::dwarf_linker::classic::CompileUnit::getLowPc ( ) const
inline
◆ getNamespaces()
const std::vector< AccelInfo > & llvm::dwarf_linker::classic::CompileUnit::getNamespaces ( ) const
inline
◆ getNextUnitOffset()
uint64_t llvm::dwarf_linker::classic::CompileUnit::getNextUnitOffset ( ) const
inline
◆ getObjC()
const std::vector< AccelInfo > & llvm::dwarf_linker::classic::CompileUnit::getObjC ( ) const
inline
◆ getOrigUnit()
DWARFUnit & llvm::dwarf_linker::classic::CompileUnit::getOrigUnit ( ) const
inline
◆ getOutputUnitDIE()
DIE * llvm::dwarf_linker::classic::CompileUnit::getOutputUnitDIE ( ) const
inline
◆ getPubnames()
const std::vector< AccelInfo > & llvm::dwarf_linker::classic::CompileUnit::getPubnames ( ) const
inline
◆ getPubtypes()
const std::vector< AccelInfo > & llvm::dwarf_linker::classic::CompileUnit::getPubtypes ( ) const
inline
◆ getRangesAttributes()◆ getStartOffset()
uint64_t llvm::dwarf_linker::classic::CompileUnit::getStartOffset ( ) const
inline
◆ getStmtSeqListAttributes()◆ getSysRoot()◆ getTag()
dwarf::Tag llvm::dwarf_linker::classic::CompileUnit::getTag ( ) const
inline
◆ getUniqueID()
unsigned llvm::dwarf_linker::classic::CompileUnit::getUniqueID ( ) const
inline
◆ getUnitRangesAttribute()
std::optional< PatchLocation > llvm::dwarf_linker::classic::CompileUnit::getUnitRangesAttribute ( ) const
inline
◆ hasLabelAt()
bool llvm::dwarf_linker::classic::CompileUnit::hasLabelAt ( uint64_t Addr ) const
inline
◆ hasODR()
bool llvm::dwarf_linker::classic::CompileUnit::hasODR ( ) const
inline
◆ isClangModule()
bool llvm::dwarf_linker::classic::CompileUnit::isClangModule ( ) const
inline
◆ markEverythingAsKept()
void llvm::CompileUnit::markEverythingAsKept
(
)
◆ noteForwardReference()Keep track of a forward reference to DIE Die in RefUnit by Attr.
Keep track of a forward cross-cu reference from this unit to Die that lives in RefUnit.
The attribute should be fixed up later to point to the absolute offset of Die in the debug_info section or to the canonical offset of Ctxt if it is non-null.
Definition at line 138 of file DWARFLinkerCompileUnit.cpp .
References CompileUnit() .
◆ noteLocationAttribute()
void llvm::CompileUnit::noteLocationAttribute
(
PatchLocation
Attr
)
Keep track of a location attribute pointing to a location list in the debug_loc section.
Definition at line 184 of file DWARFLinkerCompileUnit.cpp .
◆ noteRangeAttribute()◆ noteStmtSeqListAttribute()
void llvm::CompileUnit::noteStmtSeqListAttribute
(
PatchLocation
Attr
)
◆ setLabelBegin()
void llvm::dwarf_linker::classic::CompileUnit::setLabelBegin ( MCSymbol * S )
inline
◆ setStartOffset()
void llvm::dwarf_linker::classic::CompileUnit::setStartOffset ( uint64_t DebugInfoSize )
inline
The documentation for this class was generated from the following files: