|
LLVM
3.7.0
|
This dwarf writer support class manages information associated with a source file. More...
#include <DwarfUnit.h>
Public Member Functions | |
| virtual | ~DwarfUnit () |
| void | initSection (MCSection *Section) |
| MCSection * | getSection () const |
| AsmPrinter * | getAsmPrinter () const |
| unsigned | getUniqueID () const |
| uint16_t | getLanguage () const |
| const DICompileUnit * | getCUNode () const |
| DIE & | getUnitDie () |
| unsigned | getDebugInfoOffset () const |
| void | setDebugInfoOffset (unsigned DbgInfoOff) |
| bool | hasContent () const |
| Return true if this compile unit has something to write out. More... | |
| std::string | getParentContextString (const DIScope *Context) const |
| Get string containing language specific context for a global name. More... | |
| virtual void | addGlobalName (StringRef Name, DIE &Die, const DIScope *Context) |
| Add a new global name to the compile unit. More... | |
| virtual void | addGlobalType (const DIType *Ty, const DIE &Die, const DIScope *Context) |
| Add a new global type to the compile unit. More... | |
| void | addAccelNamespace (StringRef Name, const DIE &Die) |
| Add a new name to the namespace accelerator table. More... | |
| DIE * | getDIE (const DINode *D) const |
| Returns the DIE map slot for the specified debug variable. More... | |
| DIELoc * | getDIELoc () |
| Returns a fresh newly allocated DIELoc. More... | |
| void | insertDIE (const DINode *Desc, DIE *D) |
| Insert DIE into the map. More... | |
| void | addFlag (DIE &Die, dwarf::Attribute Attribute) |
| Add a flag that is true to the DIE. More... | |
| void | addUInt (DIE &Die, dwarf::Attribute Attribute, Optional< dwarf::Form > Form, uint64_t Integer) |
| Add an unsigned integer attribute data and value. More... | |
| void | addUInt (DIE &Block, dwarf::Form Form, uint64_t Integer) |
| void | addSInt (DIE &Die, dwarf::Attribute Attribute, Optional< dwarf::Form > Form, int64_t Integer) |
| Add an signed integer attribute data and value. More... | |
| void | addSInt (DIELoc &Die, Optional< dwarf::Form > Form, int64_t Integer) |
| void | addString (DIE &Die, dwarf::Attribute Attribute, StringRef Str) |
| Add a string attribute data and value. More... | |
| DIE::value_iterator | addLabel (DIE &Die, dwarf::Attribute Attribute, dwarf::Form Form, const MCSymbol *Label) |
| Add a Dwarf label attribute data and value. More... | |
| void | addLabel (DIELoc &Die, dwarf::Form Form, const MCSymbol *Label) |
| void | addSectionOffset (DIE &Die, dwarf::Attribute Attribute, uint64_t Integer) |
| Add an offset into a section attribute data and value. More... | |
| void | addOpAddress (DIELoc &Die, const MCSymbol *Label) |
| Add a dwarf op address data and value using the form given and an op of either DW_FORM_addr or DW_FORM_GNU_addr_index. More... | |
| void | addLabelDelta (DIE &Die, dwarf::Attribute Attribute, const MCSymbol *Hi, const MCSymbol *Lo) |
| Add a label delta attribute data and value. More... | |
| void | addDIEEntry (DIE &Die, dwarf::Attribute Attribute, DIE &Entry) |
| Add a DIE attribute data and value. More... | |
| void | addDIEEntry (DIE &Die, dwarf::Attribute Attribute, DIEEntry Entry) |
| Add a DIE attribute data and value. More... | |
| void | addDIETypeSignature (DIE &Die, const DwarfTypeUnit &Type) |
| void | addBlock (DIE &Die, dwarf::Attribute Attribute, DIELoc *Block) |
| Add block data. More... | |
| void | addBlock (DIE &Die, dwarf::Attribute Attribute, DIEBlock *Block) |
| Add block data. More... | |
| void | addSourceLine (DIE &Die, unsigned Line, StringRef File, StringRef Directory) |
| Add location information to specified debug information entry. More... | |
| void | addSourceLine (DIE &Die, const DILocalVariable *V) |
| void | addSourceLine (DIE &Die, const DIGlobalVariable *G) |
| void | addSourceLine (DIE &Die, const DISubprogram *SP) |
| void | addSourceLine (DIE &Die, const DIType *Ty) |
| void | addSourceLine (DIE &Die, const DINamespace *NS) |
| void | addSourceLine (DIE &Die, const DIObjCProperty *Ty) |
| void | addConstantValue (DIE &Die, const MachineOperand &MO, const DIType *Ty) |
| Add constant value entry in variable DIE. More... | |
| void | addConstantValue (DIE &Die, const ConstantInt *CI, const DIType *Ty) |
| void | addConstantValue (DIE &Die, const APInt &Val, const DIType *Ty) |
| void | addConstantValue (DIE &Die, const APInt &Val, bool Unsigned) |
| void | addConstantValue (DIE &Die, bool Unsigned, uint64_t Val) |
| void | addConstantFPValue (DIE &Die, const MachineOperand &MO) |
| Add constant value entry in variable DIE. More... | |
| void | addConstantFPValue (DIE &Die, const ConstantFP *CFP) |
| void | addLinkageName (DIE &Die, StringRef LinkageName) |
| Add a linkage name, if it isn't empty. More... | |
| void | addTemplateParams (DIE &Buffer, DINodeArray TParams) |
| Add template parameters in buffer. More... | |
| bool | addRegisterOpPiece (DIELoc &TheDie, unsigned Reg, unsigned SizeInBits=0, unsigned OffsetInBits=0) |
| Add register operand. More... | |
| bool | addRegisterOffset (DIELoc &TheDie, unsigned Reg, int64_t Offset) |
| Add register offset. More... | |
| void | addBlockByrefAddress (const DbgVariable &DV, DIE &Die, dwarf::Attribute Attribute, const MachineLocation &Location) |
| Start with the address based on the location provided, and generate the DWARF information necessary to find the actual Block variable (navigating the Block struct) based on the starting location. More... | |
| void | addType (DIE &Entity, const DIType *Ty, dwarf::Attribute Attribute=dwarf::DW_AT_type) |
| Add a new type attribute to the specified entity. More... | |
| DIE * | getOrCreateNameSpace (const DINamespace *NS) |
| DIE * | getOrCreateModule (const DIModule *M) |
| DIE * | getOrCreateSubprogramDIE (const DISubprogram *SP, bool Minimal=false) |
| void | applySubprogramAttributes (const DISubprogram *SP, DIE &SPDie, bool Minimal=false) |
| DIE * | getOrCreateTypeDIE (const MDNode *N) |
| Find existing DIE or create new DIE for the given type. More... | |
| DIE * | createTypeDIE (const DICompositeType *Ty) |
| Get context owner's DIE. More... | |
| DIE * | getOrCreateContextDIE (const DIScope *Context) |
| Get context owner's DIE. More... | |
| void | constructContainingTypeDIEs () |
| Construct DIEs for types that contain vtables. More... | |
| void | constructSubprogramArguments (DIE &Buffer, DITypeRefArray Args) |
| Construct function argument DIEs. More... | |
| DIE & | createAndAddDIE (unsigned Tag, DIE &Parent, const DINode *N=nullptr) |
| Create a DIE with the given Tag, add the DIE to its parent, and call insertDIE if MD is not null. More... | |
| virtual unsigned | getHeaderSize () const |
| Compute the size of a header for this unit, not including the initial length field. More... | |
| virtual void | emitHeader (bool UseOffsets) |
| Emit the header for this unit, not including the initial length field. More... | |
| virtual DwarfCompileUnit & | getCU ()=0 |
| void | constructTypeDIE (DIE &Buffer, const DICompositeType *CTy) |
Protected Member Functions | |
| DwarfUnit (unsigned UID, dwarf::Tag, const DICompileUnit *CU, AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU) | |
| void | addLocalString (DIE &Die, dwarf::Attribute Attribute, StringRef Str) |
| Add a string attribute data and value. More... | |
| void | addIndexedString (DIE &Die, dwarf::Attribute Attribute, StringRef Str) |
| bool | applySubprogramDefinitionAttributes (const DISubprogram *SP, DIE &SPDie) |
| DIE * | getOrCreateStaticMemberDIE (const DIDerivedType *DT) |
| Create new static data member DIE. More... | |
| virtual unsigned | getOrCreateSourceID (StringRef File, StringRef Directory)=0 |
| Look up the source ID with the given directory and source file names. More... | |
| template<typename T > | |
| T * | resolve (TypedDINodeRef< T > Ref) const |
| Look in the DwarfDebug map for the MDNode that corresponds to the reference. More... | |
Protected Attributes | |
| unsigned | UniqueID |
| A numeric ID unique among all CUs in the module. More... | |
| const DICompileUnit * | CUNode |
| MDNode for the compile unit. More... | |
| BumpPtrAllocator | DIEValueAllocator |
| DIE & | UnitDie |
| Unit debug information entry. More... | |
| unsigned | DebugInfoOffset |
| Offset of the UnitDie from beginning of debug info section. More... | |
| AsmPrinter * | Asm |
| Target of Dwarf emission. More... | |
| DwarfDebug * | DD |
| DwarfFile * | DU |
| DIE * | IndexTyDie |
| An anonymous type for index type. Owned by UnitDie. More... | |
| DenseMap< const MDNode *, DIE * > | MDNodeToDieMap |
| Tracks the mapping of unit level debug information variables to debug information entries. More... | |
| std::vector< DIEBlock * > | DIEBlocks |
| A list of all the DIEBlocks in use. More... | |
| std::vector< DIELoc * > | DIELocs |
| A list of all the DIELocs in use. More... | |
| DenseMap< DIE *, const DINode * > | ContainingTypeMap |
| This map is used to keep track of subprogram DIEs that need DW_AT_containing_type attribute. More... | |
| MCSection * | Section |
| The section this unit will be emitted in. More... | |
This dwarf writer support class manages information associated with a source file.
Definition at line 68 of file DwarfUnit.h.
|
protected |
Definition at line 66 of file DwarfUnit.cpp.
|
virtual |
Definition at line 85 of file DwarfUnit.cpp.
Add a new name to the namespace accelerator table.
| void DwarfUnit::addBlock | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| DIELoc * | Block | ||
| ) |
Add block data.
Definition at line 303 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), Asm, llvm::DIELoc::BestForm(), llvm::DIELoc::ComputeSize(), DD, DIELocs, DIEValueAllocator, and llvm::DwarfDebug::getDwarfVersion().
Referenced by llvm::DwarfCompileUnit::addAddress(), addBlockByrefAddress(), llvm::DwarfCompileUnit::addComplexAddress(), addConstantFPValue(), addConstantValue(), applySubprogramAttributes(), and llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
| void DwarfUnit::addBlock | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| DIEBlock * | Block | ||
| ) |
Add block data.
Definition at line 310 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), Asm, llvm::DIEBlock::BestForm(), llvm::Block, llvm::DIEBlock::ComputeSize(), DIEBlocks, and DIEValueAllocator.
| void DwarfUnit::addBlockByrefAddress | ( | const DbgVariable & | DV, |
| DIE & | Die, | ||
| dwarf::Attribute | Attribute, | ||
| const MachineLocation & | Location | ||
| ) |
Start with the address based on the location provided, and generate the DWARF information necessary to find the actual Block variable (navigating the Block struct) based on the starting location.
Add the DWARF information to the die. Obsolete, please use addComplexAddress instead.
Definition at line 430 of file DwarfUnit.cpp.
References addBlock(), addRegisterOffset(), addRegisterOpPiece(), addUInt(), DIEValueAllocator, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_udata, llvm::DbgVariable::getName(), llvm::MachineLocation::getOffset(), llvm::DIType::getOffsetInBits(), llvm::MachineLocation::getReg(), llvm::DINode::getTag(), llvm::DbgVariable::getType(), llvm::MachineLocation::isReg(), N, and resolve().
Referenced by llvm::DwarfCompileUnit::addVariableAddress().
| void DwarfUnit::addConstantFPValue | ( | DIE & | Die, |
| const MachineOperand & | MO | ||
| ) |
Add constant value entry in variable DIE.
Definition at line 582 of file DwarfUnit.cpp.
References addBlock(), addUInt(), Asm, llvm::APFloat::bitcastToAPInt(), llvm::Block, DIEValueAllocator, llvm::dwarf::DW_AT_const_value, llvm::dwarf::DW_FORM_data1, llvm::APInt::getBitWidth(), llvm::AsmPrinter::getDataLayout(), llvm::MachineOperand::getFPImm(), llvm::APInt::getRawData(), llvm::ConstantFP::getValueAPF(), llvm::MachineOperand::isFPImm(), and llvm::DataLayout::isLittleEndian().
Referenced by getOrCreateStaticMemberDIE().
| void DwarfUnit::addConstantFPValue | ( | DIE & | Die, |
| const ConstantFP * | CFP | ||
| ) |
Definition at line 604 of file DwarfUnit.cpp.
References addConstantValue(), llvm::APFloat::bitcastToAPInt(), and llvm::ConstantFP::getValueAPF().
| void DwarfUnit::addConstantValue | ( | DIE & | Die, |
| const MachineOperand & | MO, | ||
| const DIType * | Ty | ||
| ) |
Add constant value entry in variable DIE.
Definition at line 614 of file DwarfUnit.cpp.
References DD, llvm::MachineOperand::getImm(), llvm::MachineOperand::isImm(), and isUnsignedDIType().
Referenced by addConstantFPValue(), addConstantValue(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), and getOrCreateStaticMemberDIE().
| void DwarfUnit::addConstantValue | ( | DIE & | Die, |
| const ConstantInt * | CI, | ||
| const DIType * | Ty | ||
| ) |
Definition at line 609 of file DwarfUnit.cpp.
References addConstantValue(), and llvm::ConstantInt::getValue().
Definition at line 628 of file DwarfUnit.cpp.
References addConstantValue(), DD, and isUnsignedDIType().
Definition at line 632 of file DwarfUnit.cpp.
References addBlock(), addConstantValue(), addUInt(), Asm, llvm::Block, DIEValueAllocator, llvm::dwarf::DW_AT_const_value, llvm::dwarf::DW_FORM_data1, llvm::APInt::getBitWidth(), llvm::AsmPrinter::getDataLayout(), llvm::APInt::getRawData(), llvm::APInt::getSExtValue(), llvm::APInt::getZExtValue(), and llvm::DataLayout::isLittleEndian().
Definition at line 621 of file DwarfUnit.cpp.
References addUInt(), llvm::dwarf::DW_AT_const_value, llvm::dwarf::DW_FORM_sdata, and llvm::dwarf::DW_FORM_udata.
| void DwarfUnit::addDIEEntry | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| DIE & | Entry | ||
| ) |
Add a DIE attribute data and value.
Definition at line 265 of file DwarfUnit.cpp.
Referenced by addType(), applySubprogramDefinitionAttributes(), llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), constructContainingTypeDIEs(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), constructTypeDIE(), llvm::DwarfCompileUnit::finishSubprogramDefinition(), and llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
| void DwarfUnit::addDIEEntry | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| DIEEntry | Entry | ||
| ) |
Add a DIE attribute data and value.
Definition at line 280 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), DIEValueAllocator, llvm::dwarf::DW_FORM_ref4, llvm::dwarf::DW_FORM_ref_addr, llvm::DIEEntry::getEntry(), getUnitDie(), and llvm::DIE::getUnitOrNull().
| void DwarfUnit::addDIETypeSignature | ( | DIE & | Die, |
| const DwarfTypeUnit & | Type | ||
| ) |
Definition at line 269 of file DwarfUnit.cpp.
References addFlag(), llvm::DIE::addValue(), DIEValueAllocator, llvm::dwarf::DW_AT_declaration, llvm::dwarf::DW_AT_signature, and llvm::dwarf::DW_FORM_ref_sig8.
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType().
| void DwarfUnit::addFlag | ( | DIE & | Die, |
| dwarf::Attribute | Attribute | ||
| ) |
Add a flag that is true to the DIE.
Definition at line 186 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), DD, DIEValueAllocator, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_flag_present, and llvm::DwarfDebug::getDwarfVersion().
Referenced by addDIETypeSignature(), applySubprogramAttributes(), llvm::DwarfCompileUnit::applyVariableAttributes(), constructSubprogramArguments(), constructTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateStaticMemberDIE(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
|
inlinevirtual |
Add a new global name to the compile unit.
Reimplemented in llvm::DwarfCompileUnit.
Definition at line 158 of file DwarfUnit.h.
Referenced by getOrCreateModule(), and getOrCreateNameSpace().
|
inlinevirtual |
Add a new global type to the compile unit.
Reimplemented in llvm::DwarfCompileUnit.
Definition at line 162 of file DwarfUnit.h.
|
protected |
| DIE::value_iterator DwarfUnit::addLabel | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| dwarf::Form | Form, | ||
| const MCSymbol * | Label | ||
| ) |
Add a Dwarf label attribute data and value.
Definition at line 225 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), and DIEValueAllocator.
Referenced by addLabel(), addOpAddress(), and llvm::DwarfCompileUnit::addSectionLabel().
| void DwarfUnit::addLabel | ( | DIELoc & | Die, |
| dwarf::Form | Form, | ||
| const MCSymbol * | Label | ||
| ) |
Definition at line 231 of file DwarfUnit.cpp.
References addLabel().
| void DwarfUnit::addLabelDelta | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| const MCSymbol * | Hi, | ||
| const MCSymbol * | Lo | ||
| ) |
Add a label delta attribute data and value.
Definition at line 259 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), DIEValueAllocator, and llvm::dwarf::DW_FORM_data4.
Referenced by llvm::DwarfCompileUnit::attachLowHighPC().
Add a linkage name, if it isn't empty.
Definition at line 661 of file DwarfUnit.cpp.
References addString(), DD, llvm::dwarf::DW_AT_linkage_name, llvm::dwarf::DW_AT_MIPS_linkage_name, llvm::StringRef::empty(), llvm::DwarfDebug::getDwarfVersion(), and llvm::GlobalValue::getRealLinkageName().
Referenced by applySubprogramDefinitionAttributes(), and llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
|
protected |
Add a string attribute data and value.
This is guaranteed to be in the local string pool instead of indirected.
Add a dwarf op address data and value using the form given and an op of either DW_FORM_addr or DW_FORM_GNU_addr_index.
Definition at line 248 of file DwarfUnit.cpp.
References addLabel(), addUInt(), DD, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::dwarf::DW_FORM_udata, llvm::DwarfDebug::getAddressPool(), llvm::AddressPool::getIndex(), and llvm::DwarfDebug::useSplitDwarf().
Referenced by llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
Add register offset.
Definition at line 370 of file DwarfUnit.cpp.
References llvm::DwarfExpression::AddMachineRegIndirect(), and Asm.
Referenced by llvm::DwarfCompileUnit::addAddress(), and addBlockByrefAddress().
| bool DwarfUnit::addRegisterOpPiece | ( | DIELoc & | TheDie, |
| unsigned | Reg, | ||
| unsigned | SizeInBits = 0, |
||
| unsigned | OffsetInBits = 0 |
||
| ) |
Add register operand.
Definition at line 363 of file DwarfUnit.cpp.
References llvm::DwarfExpression::AddMachineRegPiece(), and Asm.
Referenced by llvm::DwarfCompileUnit::addAddress(), and addBlockByrefAddress().
| void DwarfUnit::addSectionOffset | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| uint64_t | Integer | ||
| ) |
Add an offset into a section attribute data and value.
Definition at line 235 of file DwarfUnit.cpp.
References addUInt(), DD, llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_sec_offset, and llvm::DwarfDebug::getDwarfVersion().
Referenced by llvm::DwarfTypeUnit::DwarfTypeUnit().
| void DwarfUnit::addSInt | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| Optional< dwarf::Form > | Form, | ||
| int64_t | Integer | ||
| ) |
Add an signed integer attribute data and value.
Definition at line 206 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), llvm::DIEInteger::BestForm(), and DIEValueAllocator.
Referenced by addSInt(), and llvm::DIEDwarfExpression::EmitSigned().
| void DwarfUnit::addSInt | ( | DIELoc & | Die, |
| Optional< dwarf::Form > | Form, | ||
| int64_t | Integer | ||
| ) |
Definition at line 213 of file DwarfUnit.cpp.
References addSInt().
Add location information to specified debug information entry.
Definition at line 317 of file DwarfUnit.cpp.
References addUInt(), llvm::dwarf::DW_AT_decl_file, llvm::dwarf::DW_AT_decl_line, getOrCreateSourceID(), and llvm::None.
Referenced by addSourceLine(), applySubprogramAttributes(), llvm::DwarfCompileUnit::applyVariableAttributes(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), constructTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateNameSpace(), and getOrCreateStaticMemberDIE().
| void DwarfUnit::addSourceLine | ( | DIE & | Die, |
| const DILocalVariable * | V | ||
| ) |
Definition at line 328 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIScope::getDirectory(), llvm::DIScope::getFilename(), llvm::DIVariable::getLine(), and llvm::DILocalVariable::getScope().
| void DwarfUnit::addSourceLine | ( | DIE & | Die, |
| const DIGlobalVariable * | G | ||
| ) |
Definition at line 335 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIVariable::getDirectory(), llvm::DIVariable::getFilename(), and llvm::DIVariable::getLine().
| void DwarfUnit::addSourceLine | ( | DIE & | Die, |
| const DISubprogram * | SP | ||
| ) |
Definition at line 341 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIScope::getDirectory(), and llvm::DIScope::getFilename().
Definition at line 347 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIScope::getDirectory(), llvm::DIScope::getFilename(), and llvm::DIType::getLine().
| void DwarfUnit::addSourceLine | ( | DIE & | Die, |
| const DINamespace * | NS | ||
| ) |
Definition at line 359 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIScope::getDirectory(), llvm::DIScope::getFilename(), and llvm::DINamespace::getLine().
| void DwarfUnit::addSourceLine | ( | DIE & | Die, |
| const DIObjCProperty * | Ty | ||
| ) |
Definition at line 353 of file DwarfUnit.cpp.
References addSourceLine(), llvm::DIObjCProperty::getDirectory(), llvm::DIObjCProperty::getFilename(), and llvm::DIObjCProperty::getLine().
| void DwarfUnit::addString | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| StringRef | Str | ||
| ) |
Add a string attribute data and value.
We always emit a reference to the string pool instead of immediate strings so that DIEs have more predictable sizes. In the case of split dwarf we emit an index into another table which gets us the static offset into the string table.
Definition at line 218 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), Asm, DIEValueAllocator, DU, llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_strp, llvm::DwarfStringPool::getEntry(), and llvm::DwarfFile::getStringPool().
Referenced by addLinkageName(), applySubprogramAttributes(), llvm::DwarfCompileUnit::applyVariableAttributes(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), constructTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateModule(), getOrCreateNameSpace(), and getOrCreateStaticMemberDIE().
| void DwarfUnit::addTemplateParams | ( | DIE & | Buffer, |
| DINodeArray | TParams | ||
| ) |
Add template parameters in buffer.
Definition at line 669 of file DwarfUnit.cpp.
Referenced by applySubprogramDefinitionAttributes(), and constructTypeDIE().
| void DwarfUnit::addType | ( | DIE & | Entity, |
| const DIType * | Ty, | ||
| dwarf::Attribute | Attribute = dwarf::DW_AT_type |
||
| ) |
Add a new type attribute to the specified entity.
This takes and attribute parameter because DW_AT_friend attributes are also type references.
Definition at line 770 of file DwarfUnit.cpp.
References addDIEEntry(), and getOrCreateTypeDIE().
Referenced by applySubprogramAttributes(), llvm::DwarfCompileUnit::applyVariableAttributes(), constructSubprogramArguments(), constructTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), and getOrCreateStaticMemberDIE().
| void DwarfUnit::addUInt | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| Optional< dwarf::Form > | Form, | ||
| uint64_t | Integer | ||
| ) |
Add an unsigned integer attribute data and value.
Definition at line 195 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), llvm::DIEInteger::BestForm(), and DIEValueAllocator.
Referenced by addBlockByrefAddress(), addConstantFPValue(), addConstantValue(), addOpAddress(), addSectionOffset(), addSourceLine(), addUInt(), applySubprogramAttributes(), llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), constructTypeDIE(), llvm::DIEDwarfExpression::EmitOp(), llvm::DIEDwarfExpression::EmitUnsigned(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), and getOrCreateStaticMemberDIE().
| void DwarfUnit::addUInt | ( | DIE & | Block, |
| dwarf::Form | Form, | ||
| uint64_t | Integer | ||
| ) |
Definition at line 202 of file DwarfUnit.cpp.
References addUInt().
| void DwarfUnit::applySubprogramAttributes | ( | const DISubprogram * | SP, |
| DIE & | SPDie, | ||
| bool | Minimal = false |
||
| ) |
Definition at line 1159 of file DwarfUnit.cpp.
References addBlock(), addFlag(), addSourceLine(), addString(), addType(), addUInt(), applySubprogramDefinitionAttributes(), Asm, llvm::Block, constructSubprogramArguments(), ContainingTypeMap, llvm::dwarf::DW_ACCESS_private, llvm::dwarf::DW_ACCESS_protected, llvm::dwarf::DW_ACCESS_public, llvm::dwarf::DW_AT_accessibility, llvm::dwarf::DW_AT_APPLE_isa, llvm::dwarf::DW_AT_APPLE_optimized, llvm::dwarf::DW_AT_artificial, llvm::dwarf::DW_AT_declaration, llvm::dwarf::DW_AT_explicit, llvm::dwarf::DW_AT_external, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_AT_prototyped, llvm::dwarf::DW_AT_reference, llvm::dwarf::DW_AT_rvalue_reference, llvm::dwarf::DW_AT_virtuality, llvm::dwarf::DW_AT_vtable_elem_location, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_udata, llvm::StringRef::empty(), getDIELoc(), llvm::AsmPrinter::getISAEncoding(), getLanguage(), llvm::DIScope::getName(), llvm::DINode::getTag(), llvm::DISubroutineType::getTypeArray(), llvm::isa(), and resolve().
Referenced by llvm::DwarfCompileUnit::applySubprogramAttributesToDefinition(), and getOrCreateSubprogramDIE().
|
protected |
Definition at line 1127 of file DwarfUnit.cpp.
References addDIEEntry(), addLinkageName(), addTemplateParams(), llvm::dwarf::DW_AT_specification, llvm::StringRef::empty(), getDIE(), and llvm::LinkageName.
Referenced by applySubprogramAttributes().
| void DwarfUnit::constructContainingTypeDIEs | ( | ) |
Construct DIEs for types that contain vtables.
Definition at line 1323 of file DwarfUnit.cpp.
References addDIEEntry(), ContainingTypeMap, llvm::dwarf::DW_AT_containing_type, and getDIE().
| void DwarfUnit::constructSubprogramArguments | ( | DIE & | Buffer, |
| DITypeRefArray | Args | ||
| ) |
Construct function argument DIEs.
Definition at line 858 of file DwarfUnit.cpp.
References addFlag(), addType(), createAndAddDIE(), llvm::dwarf::DW_AT_artificial, llvm::DIType::isArtificial(), N, resolve(), and llvm::DITypeRefArray::size().
Referenced by applySubprogramAttributes().
| void DwarfUnit::constructTypeDIE | ( | DIE & | Buffer, |
| const DICompositeType * | CTy | ||
| ) |
Definition at line 901 of file DwarfUnit.cpp.
References addDIEEntry(), addFlag(), addSourceLine(), addString(), addTemplateParams(), addType(), addUInt(), createAndAddDIE(), llvm::dwarf::DW_AT_APPLE_block, llvm::dwarf::DW_AT_APPLE_objc_complete_type, llvm::dwarf::DW_AT_APPLE_property_attribute, llvm::dwarf::DW_AT_APPLE_property_getter, llvm::dwarf::DW_AT_APPLE_property_name, llvm::dwarf::DW_AT_APPLE_property_setter, llvm::dwarf::DW_AT_APPLE_runtime_class, llvm::dwarf::DW_AT_byte_size, llvm::dwarf::DW_AT_containing_type, llvm::dwarf::DW_AT_declaration, llvm::dwarf::DW_AT_friend, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_FORM_data1, llvm::StringRef::empty(), llvm::DICompositeTypeBase::getElements(), llvm::DIType::getName(), getOrCreateStaticMemberDIE(), getOrCreateSubprogramDIE(), getOrCreateTypeDIE(), llvm::DICompositeTypeBase::getRuntimeLang(), llvm::DIType::getSizeInBits(), llvm::DIE::getTag(), llvm::DICompositeTypeBase::getTemplateParams(), llvm::DICompositeTypeBase::getVTableHolder(), llvm::DIType::isAppleBlockExtension(), llvm::DIType::isForwardDecl(), llvm::DIType::isObjcClassComplete(), llvm::None, resolve(), and llvm::SP.
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType(), createTypeDIE(), and getOrCreateTypeDIE().
Create a DIE with the given Tag, add the DIE to its parent, and call insertDIE if MD is not null.
Definition at line 294 of file DwarfUnit.cpp.
References llvm::DIE::addChild(), DIEValueAllocator, llvm::DIE::get(), and insertDIE().
Referenced by llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), constructSubprogramArguments(), constructTypeDIE(), createTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateModule(), getOrCreateNameSpace(), getOrCreateStaticMemberDIE(), getOrCreateSubprogramDIE(), and getOrCreateTypeDIE().
| DIE * DwarfUnit::createTypeDIE | ( | const DICompositeType * | Ty | ) |
Get context owner's DIE.
Definition at line 691 of file DwarfUnit.cpp.
References constructTypeDIE(), createAndAddDIE(), getDIE(), getOrCreateContextDIE(), llvm::DIType::getScope(), llvm::DINode::getTag(), and resolve().
|
virtual |
Emit the header for this unit, not including the initial length field.
Reimplemented in llvm::DwarfTypeUnit, and llvm::DwarfCompileUnit.
Definition at line 1488 of file DwarfUnit.cpp.
References Asm, DD, llvm::AsmPrinter::emitDwarfSymbolReference(), llvm::AsmPrinter::EmitInt16(), llvm::AsmPrinter::EmitInt32(), llvm::AsmPrinter::EmitInt8(), llvm::MCSection::getBeginSymbol(), llvm::AsmPrinter::getDataLayout(), llvm::MCObjectFileInfo::getDwarfAbbrevSection(), llvm::DwarfDebug::getDwarfVersion(), getHeaderSize(), llvm::AsmPrinter::getObjFileLowering(), llvm::DataLayout::getPointerSize(), llvm::DIE::getSize(), llvm::AsmPrinter::OutStreamer, and UnitDie.
Referenced by llvm::DwarfCompileUnit::emitHeader(), and llvm::DwarfTypeUnit::emitHeader().
|
inline |
Definition at line 136 of file DwarfUnit.h.
References Asm.
|
pure virtual |
Implemented in llvm::DwarfTypeUnit, and llvm::DwarfCompileUnit.
Referenced by getOrCreateTypeDIE().
|
inline |
Definition at line 139 of file DwarfUnit.h.
References CUNode.
|
inline |
Definition at line 142 of file DwarfUnit.h.
References DebugInfoOffset.
Returns the DIE map slot for the specified debug variable.
We delegate the request to DwarfDebug when the MDNode can be part of the type system, since DIEs for the type system can be shared across CUs and the mappings are kept in DwarfDebug.
Definition at line 172 of file DwarfUnit.cpp.
References DU, llvm::DwarfFile::getDIE(), isShareableAcrossCUs(), and MDNodeToDieMap.
Referenced by applySubprogramDefinitionAttributes(), llvm::DwarfCompileUnit::collectDeadVariables(), constructContainingTypeDIEs(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), createTypeDIE(), llvm::DwarfCompileUnit::finishSubprogramDefinition(), getOrCreateContextDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateModule(), getOrCreateNameSpace(), getOrCreateStaticMemberDIE(), getOrCreateSubprogramDIE(), and getOrCreateTypeDIE().
|
inline |
Returns a fresh newly allocated DIELoc.
Definition at line 176 of file DwarfUnit.h.
References DIEValueAllocator.
Referenced by applySubprogramAttributes().
|
inlinevirtual |
Compute the size of a header for this unit, not including the initial length field.
Reimplemented in llvm::DwarfTypeUnit.
Definition at line 321 of file DwarfUnit.h.
Referenced by emitHeader(), llvm::DwarfTypeUnit::getHeaderSize(), and llvm::DwarfCompileUnit::getLength().
|
inline |
Definition at line 138 of file DwarfUnit.h.
References CUNode, and llvm::DICompileUnit::getSourceLanguage().
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType(), applySubprogramAttributes(), computeIndexValue(), and getParentContextString().
Get context owner's DIE.
Definition at line 679 of file DwarfUnit.cpp.
References getDIE(), getOrCreateNameSpace(), getOrCreateSubprogramDIE(), getOrCreateTypeDIE(), getUnitDie(), and llvm::SP.
Referenced by llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), createTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateModule(), getOrCreateNameSpace(), getOrCreateStaticMemberDIE(), getOrCreateSubprogramDIE(), and getOrCreateTypeDIE().
Definition at line 1072 of file DwarfUnit.cpp.
References addGlobalName(), addString(), createAndAddDIE(), llvm::dwarf::DW_AT_LLVM_config_macros, llvm::dwarf::DW_AT_LLVM_include_path, llvm::dwarf::DW_AT_LLVM_isysroot, llvm::dwarf::DW_AT_name, llvm::StringRef::empty(), llvm::DIModule::getConfigurationMacros(), getDIE(), llvm::DIModule::getIncludePath(), llvm::DIModule::getISysRoot(), llvm::DIModule::getName(), getOrCreateContextDIE(), and llvm::DIModule::getScope().
Referenced by llvm::DwarfCompileUnit::constructImportedEntityDIE().
| DIE * DwarfUnit::getOrCreateNameSpace | ( | const DINamespace * | NS | ) |
Definition at line 1052 of file DwarfUnit.cpp.
References llvm::DwarfDebug::addAccelNamespace(), addGlobalName(), addSourceLine(), addString(), createAndAddDIE(), DD, llvm::dwarf::DW_AT_name, llvm::StringRef::empty(), getDIE(), llvm::DINamespace::getName(), getOrCreateContextDIE(), and llvm::DINamespace::getScope().
Referenced by llvm::DwarfCompileUnit::constructImportedEntityDIE(), and getOrCreateContextDIE().
|
protectedpure virtual |
Look up the source ID with the given directory and source file names.
If none currently exists, create a new ID and insert it in the line table.
Implemented in llvm::DwarfCompileUnit.
Referenced by addSourceLine().
|
protected |
Create new static data member DIE.
Definition at line 1445 of file DwarfUnit.cpp.
References addConstantFPValue(), addConstantValue(), addFlag(), addSourceLine(), addString(), addType(), addUInt(), createAndAddDIE(), llvm::dwarf::DW_ACCESS_private, llvm::dwarf::DW_ACCESS_protected, llvm::dwarf::DW_ACCESS_public, llvm::dwarf::DW_AT_accessibility, llvm::dwarf::DW_AT_declaration, llvm::dwarf::DW_AT_external, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_FORM_data1, llvm::DIDerivedTypeBase::getBaseType(), getDIE(), llvm::DIType::getName(), getOrCreateContextDIE(), llvm::DIType::getScope(), llvm::DINode::getTag(), llvm::DIE::getTag(), llvm::DIType::isPrivate(), llvm::DIType::isProtected(), llvm::DIType::isPublic(), llvm::dwarf::isType(), and resolve().
Referenced by constructTypeDIE(), and llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
| DIE * DwarfUnit::getOrCreateSubprogramDIE | ( | const DISubprogram * | SP, |
| bool | Minimal = false |
||
| ) |
Definition at line 1096 of file DwarfUnit.cpp.
References applySubprogramAttributes(), createAndAddDIE(), getDIE(), getOrCreateContextDIE(), llvm::DIScope::getScope(), getUnitDie(), and resolve().
Referenced by llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), constructTypeDIE(), llvm::DwarfCompileUnit::finishSubprogramDefinition(), getOrCreateContextDIE(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
Find existing DIE or create new DIE for the given type.
Definition at line 707 of file DwarfUnit.cpp.
References llvm::DwarfDebug::addDwarfTypeUnitType(), constructTypeDIE(), createAndAddDIE(), DD, GenerateDwarfTypeUnits, getCU(), getDIE(), llvm::DwarfDebug::getDwarfVersion(), getOrCreateContextDIE(), and resolve().
Referenced by addType(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), constructTypeDIE(), and getOrCreateContextDIE().
Get string containing language specific context for a global name.
Walks the metadata parent chain in a language specific manner (using the compile unit language) and returns it as a string. This is done at the metadata level because DIEs may not currently have been added to the parent context and walking the DIEs looking for names is more expensive than walking the metadata.
Definition at line 776 of file DwarfUnit.cpp.
References llvm::CS, llvm::StringRef::empty(), getLanguage(), llvm::DIScope::getName(), llvm::DIScope::getScope(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateCommon< T >::rbegin(), llvm::SmallVectorTemplateCommon< T >::rend(), and resolve().
Referenced by llvm::DwarfCompileUnit::addGlobalName(), and llvm::DwarfCompileUnit::addGlobalType().
|
inline |
Definition at line 130 of file DwarfUnit.h.
References Section.
|
inline |
Definition at line 137 of file DwarfUnit.h.
References UniqueID.
Referenced by llvm::DwarfDebug::beginFunction(), llvm::DwarfCompileUnit::getOrCreateSourceID(), and llvm::DwarfCompileUnit::initStmtList().
|
inline |
Definition at line 140 of file DwarfUnit.h.
References UnitDie.
Referenced by addDIEEntry(), llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), llvm::DwarfCompileUnit::DwarfCompileUnit(), getOrCreateContextDIE(), and getOrCreateSubprogramDIE().
|
inline |
Return true if this compile unit has something to write out.
Definition at line 146 of file DwarfUnit.h.
References llvm::DIE::hasChildren(), and UnitDie.
| void DwarfUnit::initSection | ( | MCSection * | Section | ) |
Definition at line 1508 of file DwarfUnit.cpp.
References Section.
Insert DIE into the map.
We delegate the request to DwarfDebug when the MDNode can be part of the type system, since DIEs for the type system can be shared across CUs and the mappings are kept in DwarfDebug.
Definition at line 178 of file DwarfUnit.cpp.
References DU, llvm::DwarfFile::insertDIE(), isShareableAcrossCUs(), and MDNodeToDieMap.
Referenced by llvm::DwarfCompileUnit::constructImportedEntityDIE(), createAndAddDIE(), and llvm::DwarfCompileUnit::DwarfCompileUnit().
|
inlineprotected |
Look in the DwarfDebug map for the MDNode that corresponds to the reference.
Definition at line 344 of file DwarfUnit.h.
References DD, and llvm::DwarfDebug::resolve().
Referenced by addBlockByrefAddress(), applySubprogramAttributes(), llvm::DwarfCompileUnit::applySubprogramAttributesToDefinition(), llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), constructSubprogramArguments(), constructTypeDIE(), createTypeDIE(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateStaticMemberDIE(), getOrCreateSubprogramDIE(), getOrCreateTypeDIE(), and getParentContextString().
|
inline |
Definition at line 143 of file DwarfUnit.h.
References DebugInfoOffset.
|
protected |
Target of Dwarf emission.
Definition at line 86 of file DwarfUnit.h.
Referenced by addBlock(), llvm::DwarfCompileUnit::addComplexAddress(), addConstantFPValue(), addConstantValue(), addRegisterOffset(), addRegisterOpPiece(), llvm::DwarfCompileUnit::addScopeRangeList(), llvm::DwarfCompileUnit::addSectionLabel(), addString(), applySubprogramAttributes(), llvm::DwarfCompileUnit::emitHeader(), emitHeader(), llvm::DwarfTypeUnit::emitHeader(), getAsmPrinter(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), llvm::DwarfCompileUnit::getOrCreateSourceID(), llvm::DwarfCompileUnit::initStmtList(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
This map is used to keep track of subprogram DIEs that need DW_AT_containing_type attribute.
This attribute points to a DIE that corresponds to the MDNode mapped with the subprogram DIE.
Definition at line 108 of file DwarfUnit.h.
Referenced by applySubprogramAttributes(), and constructContainingTypeDIEs().
|
protected |
MDNode for the compile unit.
Definition at line 74 of file DwarfUnit.h.
Referenced by getCUNode(), and getLanguage().
|
protected |
Definition at line 89 of file DwarfUnit.h.
Referenced by addBlock(), addConstantValue(), addFlag(), llvm::DwarfCompileUnit::addLabelAddress(), addLinkageName(), llvm::DwarfCompileUnit::addLocalLabelAddress(), llvm::DwarfCompileUnit::addLocationList(), addOpAddress(), llvm::DwarfCompileUnit::addRange(), llvm::DwarfCompileUnit::addSectionDelta(), llvm::DwarfCompileUnit::addSectionLabel(), addSectionOffset(), llvm::DwarfCompileUnit::attachLowHighPC(), llvm::DwarfCompileUnit::attachRangesOrLowHighPC(), llvm::DwarfCompileUnit::collectDeadVariables(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::constructLexicalScopeDIE(), llvm::DwarfCompileUnit::constructScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), emitHeader(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getOrCreateNameSpace(), getOrCreateTypeDIE(), resolve(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
|
protected |
Offset of the UnitDie from beginning of debug info section.
Definition at line 83 of file DwarfUnit.h.
Referenced by getDebugInfoOffset(), and setDebugInfoOffset().
|
protected |
A list of all the DIEBlocks in use.
Definition at line 100 of file DwarfUnit.h.
Referenced by addBlock(), and ~DwarfUnit().
|
protected |
A list of all the DIELocs in use.
Definition at line 103 of file DwarfUnit.h.
Referenced by addBlock(), and ~DwarfUnit().
|
protected |
Definition at line 77 of file DwarfUnit.h.
Referenced by llvm::DwarfCompileUnit::addAddress(), addBlock(), addBlockByrefAddress(), llvm::DwarfCompileUnit::addComplexAddress(), addConstantFPValue(), addConstantValue(), addDIEEntry(), addDIETypeSignature(), llvm::DwarfCompileUnit::addExpr(), addFlag(), addLabel(), llvm::DwarfCompileUnit::addLabelAddress(), addLabelDelta(), llvm::DwarfCompileUnit::addLocalLabelAddress(), llvm::DwarfCompileUnit::addLocationList(), llvm::DwarfCompileUnit::addSectionDelta(), addSInt(), addString(), addUInt(), llvm::DwarfCompileUnit::applyStmtList(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::constructLexicalScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), createAndAddDIE(), getDIELoc(), and llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE().
|
protected |
Definition at line 90 of file DwarfUnit.h.
Referenced by addString(), llvm::DwarfCompileUnit::collectDeadVariables(), llvm::DwarfCompileUnit::constructAbstractSubprogramScopeDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::createScopeChildrenDIE(), llvm::DwarfCompileUnit::finishSubprogramDefinition(), getDIE(), and insertDIE().
|
protected |
An anonymous type for index type. Owned by UnitDie.
Definition at line 93 of file DwarfUnit.h.
Tracks the mapping of unit level debug information variables to debug information entries.
Definition at line 97 of file DwarfUnit.h.
Referenced by getDIE(), and insertDIE().
|
protected |
The section this unit will be emitted in.
Definition at line 111 of file DwarfUnit.h.
Referenced by llvm::DwarfCompileUnit::getLabelBegin(), getSection(), llvm::DwarfCompileUnit::getSectionSym(), and initSection().
|
protected |
A numeric ID unique among all CUs in the module.
Definition at line 71 of file DwarfUnit.h.
Referenced by getUniqueID().
|
protected |
Unit debug information entry.
Definition at line 80 of file DwarfUnit.h.
Referenced by llvm::DwarfTypeUnit::DwarfTypeUnit(), emitHeader(), llvm::DwarfCompileUnit::getLength(), getUnitDie(), hasContent(), and llvm::DwarfCompileUnit::initStmtList().
1.8.6