LLVM API Documentation
#include <DwarfUnit.h>


Public Member Functions | |
| DwarfCompileUnit (unsigned UID, DICompileUnit Node, AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU) | |
| void | initStmtList (MCSymbol *DwarfLineSectionSym) |
| void | applyStmtList (DIE &D) |
| Apply the DW_AT_stmt_list from this compile unit to the specified DIE. | |
| void | createGlobalVariableDIE (DIGlobalVariable GV) |
| createGlobalVariableDIE - create global variable DIE. | |
| void | addLabelAddress (DIE &Die, dwarf::Attribute Attribute, const MCSymbol *Label) |
| void | addLocalLabelAddress (DIE &Die, dwarf::Attribute Attribute, const MCSymbol *Label) |
| DwarfCompileUnit & | getCU () override |
| unsigned | getOrCreateSourceID (StringRef FileName, StringRef DirName) override |
| void | addRange (RangeSpan Range) |
| addRange - Add an address range to the list of ranges for this unit. | |
Definition at line 525 of file DwarfUnit.h.
| DwarfCompileUnit::DwarfCompileUnit | ( | unsigned | UID, |
| DICompileUnit | Node, | ||
| AsmPrinter * | A, | ||
| DwarfDebug * | DW, | ||
| DwarfFile * | DWU | ||
| ) |
Definition at line 55 of file DwarfUnit.cpp.
References llvm::DwarfUnit::getUnitDie(), and llvm::DwarfUnit::insertDIE().
| void DwarfCompileUnit::addLabelAddress | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| const MCSymbol * | Label | ||
| ) |
addLabelAddress - Add a dwarf label attribute data and value using either DW_FORM_addr or DW_FORM_GNU_addr_index.
addLabelAddress - Add a dwarf label attribute data and value using DW_FORM_addr or DW_FORM_GNU_addr_index.
Definition at line 286 of file DwarfUnit.cpp.
References llvm::DwarfDebug::addArangeLabel(), addLocalLabelAddress(), llvm::DIE::addValue(), llvm::DwarfUnit::DD, llvm::DwarfUnit::DIEValueAllocator, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::DwarfDebug::getAddressPool(), llvm::AddressPool::getIndex(), llvm::DwarfUnit::Skeleton, and llvm::DwarfDebug::useSplitDwarf().
| void DwarfCompileUnit::addLocalLabelAddress | ( | DIE & | Die, |
| dwarf::Attribute | Attribute, | ||
| const MCSymbol * | Label | ||
| ) |
addLocalLabelAddress - Add a dwarf label attribute data and value using DW_FORM_addr only.
Definition at line 305 of file DwarfUnit.cpp.
References llvm::DwarfDebug::addArangeLabel(), llvm::DIE::addValue(), llvm::DwarfUnit::DD, llvm::DwarfUnit::DIEValueAllocator, and llvm::dwarf::DW_FORM_addr.
Referenced by addLabelAddress().
| void DwarfCompileUnit::addRange | ( | RangeSpan | Range | ) |
addRange - Add an address range to the list of ranges for this unit.
Definition at line 2043 of file DwarfUnit.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::DwarfUnit::CURanges, llvm::DwarfUnit::DD, llvm::SmallVectorBase::empty(), llvm::DIBuilder::FullDebug, llvm::DwarfUnit::getCUNode(), llvm::RangeSpan::getEnd(), llvm::DwarfDebug::getPrevCU(), llvm::MCSymbol::getSection(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::RangeSpan::setEnd(), and llvm::DwarfDebug::setPrevCU().
Referenced by llvm::DwarfDebug::endFunction().
| void DwarfCompileUnit::applyStmtList | ( | DIE & | D | ) |
Apply the DW_AT_stmt_list from this compile unit to the specified DIE.
Definition at line 2082 of file DwarfUnit.cpp.
References llvm::DIE::addValue(), llvm::dwarf::DW_AT_stmt_list, llvm::DIE::getAbbrev(), llvm::DIEAbbrev::getData(), llvm::DIE::getValues(), and llvm::DwarfUnit::UnitDie.
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType().
createGlobalVariableDIE - create global variable DIE.
Definition at line 1596 of file DwarfUnit.cpp.
References llvm::DwarfDebug::addAccelName(), llvm::DwarfDebug::addArangeLabel(), llvm::DwarfUnit::addBlock(), llvm::DwarfUnit::addConstantValue(), llvm::DwarfUnit::addDIEEntry(), llvm::DwarfUnit::addExpr(), llvm::DwarfUnit::addFlag(), llvm::DwarfUnit::addGlobalName(), llvm::DwarfUnit::addOpAddress(), llvm::DwarfUnit::addSourceLine(), llvm::DwarfUnit::addString(), llvm::DwarfUnit::addType(), llvm::DwarfUnit::addUInt(), llvm::DwarfUnit::Asm, llvm::WinEH::CE, llvm::DwarfUnit::createAndAddDIE(), llvm::DwarfUnit::DD, llvm::DwarfUnit::DIEValueAllocator, llvm::dwarf::DW_AT_declaration, llvm::dwarf::DW_AT_external, llvm::dwarf::DW_AT_linkage_name, llvm::dwarf::DW_AT_location, llvm::dwarf::DW_AT_MIPS_linkage_name, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_AT_specification, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_udata, llvm::dwarf::DW_OP_const4u, llvm::dwarf::DW_OP_const8u, llvm::dwarf::DW_OP_constu, llvm::dwarf::DW_OP_GNU_const_index, llvm::dwarf::DW_OP_GNU_push_tls_address, llvm::dwarf::DW_OP_plus, llvm::dwarf::DW_TAG_variable, llvm::StringRef::empty(), llvm::DwarfDebug::getAddressPool(), llvm::DIGlobalVariable::getConstant(), llvm::DIGlobalVariable::getContext(), llvm::AsmPrinter::getDataLayout(), llvm::TargetLoweringObjectFile::getDebugThreadLocalSymbol(), llvm::DwarfUnit::getDIE(), llvm::DIGlobalVariable::getDisplayName(), llvm::DwarfDebug::getDwarfVersion(), llvm::DIGlobalVariable::getGlobal(), llvm::AddressPool::getIndex(), llvm::DataLayout::getIndexedOffset(), llvm::DIGlobalVariable::getLinkageName(), getMergedGlobalExpr(), llvm::DIGlobalVariable::getName(), llvm::AsmPrinter::getObjFileLowering(), llvm::DwarfUnit::getOrCreateContextDIE(), llvm::DwarfUnit::getOrCreateStaticMemberDIE(), llvm::DataLayout::getPointerSize(), llvm::GlobalValue::getRealLinkageName(), llvm::DIGlobalVariable::getStaticDataMemberDeclaration(), llvm::AsmPrinter::getSymbol(), llvm::DIDescriptor::getTag(), llvm::Value::getType(), llvm::DIGlobalVariable::getType(), llvm::DIGlobalVariable::isDefinition(), llvm::DIDescriptor::isGlobalVariable(), llvm::DIGlobalVariable::isLocalToUnit(), llvm::DIType::isStaticMember(), llvm::DwarfDebug::isSubprogramContext(), llvm::GlobalValue::isThreadLocal(), llvm::DwarfDebug::resolve(), llvm::DwarfUnit::UnitDie, llvm::DwarfDebug::useSplitDwarf(), and llvm::DIDerivedType::Verify().
Referenced by llvm::DwarfDebug::beginModule().
| DwarfCompileUnit& llvm::DwarfCompileUnit::getCU | ( | ) | [inline, override, virtual] |
Implements llvm::DwarfUnit.
Definition at line 552 of file DwarfUnit.h.
| unsigned DwarfCompileUnit::getOrCreateSourceID | ( | StringRef | File, |
| StringRef | Directory | ||
| ) | [override, 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.
Implements llvm::DwarfUnit.
Definition at line 316 of file DwarfUnit.cpp.
References llvm::DwarfUnit::Asm, llvm::MCStreamer::EmitDwarfFileDirective(), llvm::DwarfUnit::getUniqueID(), llvm::MCStreamer::hasRawTextSupport(), and llvm::AsmPrinter::OutStreamer.
Referenced by llvm::DwarfTypeUnit::getOrCreateSourceID().
| void DwarfCompileUnit::initStmtList | ( | MCSymbol * | DwarfLineSectionSym | ) |
Definition at line 2063 of file DwarfUnit.cpp.
References llvm::DwarfUnit::addSectionDelta(), llvm::DwarfUnit::addSectionLabel(), llvm::DwarfUnit::Asm, llvm::MCAsmInfo::doesDwarfUseRelocationsAcrossSections(), llvm::dwarf::DW_AT_stmt_list, llvm::MCStreamer::getDwarfLineTableSymbol(), llvm::DwarfUnit::getUniqueID(), llvm::DIE::getValues(), llvm::AsmPrinter::MAI, llvm::AsmPrinter::OutStreamer, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::DwarfUnit::UnitDie.