class DwarfDebug
Declaration
class DwarfDebug : public DebugHandlerBase { /* full declaration omitted */ };
Description
Collects and handles dwarf debug information.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:294
Inherits from: DebugHandlerBase
Member Variables
- private llvm::BumpPtrAllocator DIEValueAllocator
- All DIEValues are allocated through this allocator.
- private MapVector<const llvm::MDNode*, llvm::DwarfCompileUnit*> CUMap
- Maps MDNode with its corresponding DwarfCompileUnit.
- private DenseMap<const llvm::DIE*, llvm::DwarfCompileUnit*> CUDieMap
- Maps a CU DIE with its corresponding DwarfCompileUnit.
- private std::vector<SymbolCU> ArangeLabels
- List of all labels used in aranges generation.
- private DenseMap<const llvm::MCSymbol*, uint64_t> SymSize
- Size of each symbol emitted (for those symbols that have a specific size).
- private SmallVector<std::unique_ptr<DbgEntity>, 64> ConcreteEntities
- Collection of abstract variables/labels.
- private llvm::DebugLocStream DebugLocs
- Collection of DebugLocEntry. Stored in a linked list so that DIELocLists can refer to them in spite of insertions into this list.
- private SetVector< const llvm::DISubprogram*, SmallVector<const llvm::DISubprogram*, 16>, SmallPtrSet<const llvm::DISubprogram*, 16>> ProcessedSPNodes
- This is a collection of subprogram MDNodes that are processed to create DIEs.
- private const llvm::MachineFunction* CurFn = nullptr
- If nonnull, stores the current machine function we're processing.
- private const llvm::DwarfCompileUnit* PrevCU = nullptr
- If nonnull, stores the CU in which the previous subprogram was contained.
- private llvm::StringRef CompilationDir
- As an optimization, there is no need to emit an entry in the directory table for the same directory as DW_AT_comp_dir.
- private llvm::DwarfFile InfoHolder
- Holder for the file specific debug information.
- private DenseMap<const llvm::MDNode*, uint64_t> TypeSignatures
- Map from MDNodes for user-defined types to their type signatures. Also used to keep track of which types we have emitted type units for.
- private DenseMap<const llvm::MCSection*, const llvm::MCSymbol*> SectionLabels
- private SmallVector< std::pair<std::unique_ptr<DwarfTypeUnit>, const DICompositeType*>, 1> TypeUnitsUnderConstruction
- private bool UseGNUTLSOpcode
- Whether to use the GNU TLS opcode (instead of the standard opcode).
- private bool UseDWARF2Bitfields
- Whether to use DWARF 2 bitfields (instead of the DWARF 4 format).
- private bool UseAllLinkageNames
- Whether to emit all linkage names, or just abstract subprograms.
- private bool UseInlineStrings = false
- Use inlined strings.
- private bool UseRangesSection = true
- Allow emission of .debug_ranges section.
- private bool UseSectionsAsReferences = false
- True if the sections itself must be used as references and don't create temp symbols inside DWARF sections.
- private bool UseLocSection = true
- Allow emission of the .debug_loc section.
- private bool GenerateTypeUnits
- Generate DWARF v4 type units.
- private bool UseDebugMacroSection
- Emit a .debug_macro section instead of .debug_macinfo.
- private bool EnableOpConvert
- Avoid using DW_OP_convert due to consumer incompatibilities.
- private llvm::DwarfDebug::MinimizeAddrInV5 MinimizeAddr = MinimizeAddrInV5::Disabled
- Force the use of DW_AT_ranges even for single-entry range lists.
- private llvm::AccelTableKind TheAccelTableKind
- DWARF5 Experimental Options @ {
- private bool HasAppleExtensionAttributes
- private bool HasSplitDwarf
- private bool UseSegmentedStringOffsetsTable
- Whether to generate the DWARF v5 string offsets table. It consists of a series of contributions, each preceded by a header. The pre-DWARF v5 string offsets table for split dwarf is, in contrast, a monolithic sequence of string offsets.
- private bool EmitDebugEntryValues
- Enable production of call site parameters needed to print the debug entry values. Useful for testing purposes when a debugger does not support the feature yet.
- private llvm::DwarfFile SkeletonHolder
- Holder for the skeleton information.
- private llvm::MCDwarfDwoLineTable SplitTypeUnitFileTable
- Store file names for type units under fission in a line table header that will be emitted into debug_line.dwo.
- private bool SingleCU
- True iff there are multiple CUs in this module.
- private bool IsDarwin
- private DenseMap<const llvm::DIStringType*, unsigned int> StringTypeLocMap
- Map for tracking Fortran deferred CHARACTER lengths.
- private llvm::AddressPool AddrPool
- private AccelTable<llvm::DWARF5AccelTableData> AccelDebugNames
- Accelerator tables.
- private AccelTable<llvm::AppleAccelTableOffsetData> AccelNames
- private AccelTable<llvm::AppleAccelTableOffsetData> AccelObjC
- private AccelTable<llvm::AppleAccelTableOffsetData> AccelNamespace
- private AccelTable<llvm::AppleAccelTableTypeData> AccelTypes
- private llvm::DebuggerKind DebuggerTuning = DebuggerKind::Default
- The "tuning" should be used to set defaults for individual feature flags in DwarfDebug; if a given feature has a more specific command-line option, that option should take precedence over the tuning.
Inherited from DebugHandlerBase:
- protected Asm
- protected MMI
- protected PrevInstLoc
- protected PrevLabel = nullptr
- protected PrevInstBB = nullptr
- protected PrologEndLoc
- protected CurMI = nullptr
- protected LScopes
- protected DbgValues
- protected DbgLabels
- protected LabelsBeforeInsn
- protected LabelsAfterInsn
Method Overview
- public DwarfDebug(llvm::AsmPrinter * A)
- public void addAccelName(const llvm::DICompileUnit & CU, llvm::StringRef Name, const llvm::DIE & Die)
- private template <typename DataT>void addAccelNameImpl(const llvm::DICompileUnit & CU, AccelTable<DataT> & AppleAccel, llvm::StringRef Name, const llvm::DIE & Die)
- public void addAccelNamespace(const llvm::DICompileUnit & CU, llvm::StringRef Name, const llvm::DIE & Die)
- public void addAccelObjC(const llvm::DICompileUnit & CU, llvm::StringRef Name, const llvm::DIE & Die)
- public void addAccelType(const llvm::DICompileUnit & CU, llvm::StringRef Name, const llvm::DIE & Die, char Flags)
- public void addArangeLabel(llvm::SymbolCU SCU)
- public void addDwarfTypeUnitType(llvm::DwarfCompileUnit & CU, llvm::StringRef Identifier, llvm::DIE & Die, const llvm::DICompositeType * CTy)
- private void addGnuPubAttributes(llvm::DwarfCompileUnit & U, llvm::DIE & D) const
- public void addStringTypeLoc(const llvm::DIStringType * ST, unsigned int Loc)
- public void addSubprogramNames(const llvm::DICompileUnit & CU, const llvm::DISubprogram * SP, llvm::DIE & Die)
- public bool alwaysUseRanges() const
- protected void beginFunctionImpl(const llvm::MachineFunction * MF)
- public void beginInstruction(const llvm::MachineInstr * MI)
- public void beginModule(llvm::Module * M)
- private bool buildLocationList(SmallVectorImpl<llvm::DebugLocEntry> & DebugLoc, const DbgValueHistoryMap::Entries & Entries)
- private void collectEntityInfo(llvm::DwarfCompileUnit & TheCU, const llvm::DISubprogram * SP, DenseSet<llvm::DwarfDebug::InlinedEntity> & ProcessedVars)
- private void collectVariableInfoFromMFTable(llvm::DwarfCompileUnit & TheCU, DenseSet<llvm::DwarfDebug::InlinedEntity> & P)
- private void constructAbstractSubprogramScopeDIE(llvm::DwarfCompileUnit & SrcCU, llvm::LexicalScope * Scope)
- private void constructAndAddImportedEntityDIE(llvm::DwarfCompileUnit & TheCU, const llvm::DIImportedEntity * N)
- private void constructCallSiteEntryDIEs(const llvm::DISubprogram & SP, llvm::DwarfCompileUnit & CU, llvm::DIE & ScopeDIE, const llvm::MachineFunction & MF)
- private llvm::DwarfCompileUnit & constructSkeletonCU(const llvm::DwarfCompileUnit & CU)
- private llvm::DbgEntity * createConcreteEntity(llvm::DwarfCompileUnit & TheCU, llvm::LexicalScope & Scope, const llvm::DINode * Node, const llvm::DILocation * Location, const llvm::MCSymbol * Sym = nullptr)
- private void emitAbbreviations()
- private template <typename AccelTableT>void emitAccel(AccelTableT & Accel, llvm::MCSection * Section, llvm::StringRef TableName)
- private void emitAccelDebugNames()
- private void emitAccelNames()
- private void emitAccelNamespaces()
- private void emitAccelObjC()
- private void emitAccelTypes()
- private void emitDebugARanges()
- private void emitDebugAbbrevDWO()
- private void emitDebugAddr()
- public bool emitDebugEntryValues() const
- private void emitDebugInfo()
- private void emitDebugInfoDWO()
- private void emitDebugLineDWO()
- private void emitDebugLoc()
- private void emitDebugLocDWO()
- public void emitDebugLocEntry(llvm::ByteStreamer & Streamer, const DebugLocStream::Entry & Entry, const llvm::DwarfCompileUnit * CU)
- public void emitDebugLocEntryLocation(const DebugLocStream::Entry & Entry, const llvm::DwarfCompileUnit * CU)
- private void emitDebugLocImpl(llvm::MCSection * Sec)
- public static void emitDebugLocValue(const llvm::AsmPrinter & AP, const llvm::DIBasicType * BT, const llvm::DbgValueLoc & Value, llvm::DwarfExpression & DwarfExpr)
- private void emitDebugMacinfo()
- private void emitDebugMacinfoDWO()
- private void emitDebugMacinfoImpl(llvm::MCSection * Section)
- private void emitDebugPubSection(bool GnuStyle, llvm::StringRef Name, llvm::DwarfCompileUnit * TheU, const StringMap<const llvm::DIE *> & Globals)
- private void emitDebugPubSections()
- private void emitDebugRanges()
- private void emitDebugRangesDWO()
- private void emitDebugRangesImpl(const llvm::DwarfFile & Holder, llvm::MCSection * Section)
- private void emitDebugStr()
- private void emitDebugStrDWO()
- public llvm::DebugLoc emitInitialLocDirective(const llvm::MachineFunction & MF, unsigned int CUID)
- private void emitMacro(llvm::DIMacro & M)
- private void emitMacroFile(llvm::DIMacroFile & F, llvm::DwarfCompileUnit & U)
- private void emitMacroFileImpl(llvm::DIMacroFile & F, llvm::DwarfCompileUnit & U, unsigned int StartFile, unsigned int EndFile, llvm::StringRef (*)(unsigned int) MacroFormToString)
- private void emitSectionReference(const llvm::DwarfCompileUnit & CU)
- private void emitStringOffsetsTableHeader()
- private void emitStringOffsetsTableHeaderDWO()
- protected void endFunctionImpl(const llvm::MachineFunction * MF)
- public void endModule()
- private void ensureAbstractEntityIsCreated(llvm::DwarfCompileUnit & CU, const llvm::DINode * Node, const llvm::MDNode * Scope)
- private void ensureAbstractEntityIsCreatedIfScoped(llvm::DwarfCompileUnit & CU, const llvm::DINode * Node, const llvm::MDNode * Scope)
- private void finalizeModuleInfo()
- private void finishEntityDefinitions()
- private void finishSubprogramDefinitions()
- private void finishUnitAttributes(const llvm::DICompileUnit * DIUnit, llvm::DwarfCompileUnit & NewCU)
- public bool generateTypeUnits() const
- public llvm::AccelTableKind getAccelTableKind() const
- public llvm::AddressPool & getAddressPool()
- public const llvm::MachineFunction * getCurrentFunction() const
- public const llvm::DebugLocStream & getDebugLocs() const
- protected unsigned int getDwarfCompileUnitIDForLineTable(const llvm::DwarfCompileUnit & CU)
- public dwarf::Form getDwarfSectionOffsetForm() const
- public uint16_t getDwarfVersion() const
- private llvm::MCDwarfDwoLineTable * getDwoLineTable(const llvm::DwarfCompileUnit &)
- public Optional<MD5::MD5Result> getMD5AsBytes(const llvm::DIFile * File) const
- private llvm::DwarfCompileUnit & getOrCreateDwarfCompileUnit(const llvm::DICompileUnit * DIUnit)
- public const llvm::DwarfCompileUnit * getPrevCU() const
- public const llvm::MCSymbol * getSectionLabel(const llvm::MCSection * S)
- public unsigned int getStringTypeLoc(const llvm::DIStringType * ST) const
- private const SmallVectorImpl<std::unique_ptr<DwarfCompileUnit>> & getUnits()
- private void handleMacroNodes(llvm::DIMacroNodeArray Nodes, llvm::DwarfCompileUnit & U)
- private void initSkeletonUnit(const llvm::DwarfUnit & U, llvm::DIE & Die, std::unique_ptr<DwarfCompileUnit> NewU)
- public void insertSectionLabel(const llvm::MCSymbol * S)
- public bool isLexicalScopeDIENull(llvm::LexicalScope * Scope)
- public const llvm::DwarfCompileUnit * lookupCU(const llvm::DIE * Die) const
- public llvm::DwarfCompileUnit * lookupCU(const llvm::DIE * Die)
- public static uint64_t makeTypeSignature(llvm::StringRef Identifier)
- private void recordSourceLine(unsigned int Line, unsigned int Col, const llvm::MDNode * Scope, unsigned int Flags)
- public void setPrevCU(const llvm::DwarfCompileUnit * PrevCU)
- public void setSymbolSize(const llvm::MCSymbol * Sym, uint64_t Size)
- public bool shareAcrossDWOCUs() const
- protected void skippedNonDebugFunction()
- public void terminateLineTable(const llvm::DwarfCompileUnit * CU)
- public bool tuneForDBX() const
- public bool tuneForGDB() const
- public bool tuneForLLDB() const
- public bool tuneForSCE() const
- public bool useAddrOffsetExpressions() const
- public bool useAddrOffsetForm() const
- public bool useAllLinkageNames() const
- public bool useAppleExtensionAttributes() const
- public bool useDWARF2Bitfields() const
- public bool useGNUTLSOpcode() const
- public bool useInlineStrings() const
- public bool useLocSection() const
- public bool useOpConvert() const
- public bool useRangesSection() const
- public bool useSectionsAsReferences() const
- public bool useSegmentedStringOffsetsTable() const
- public bool useSplitDwarf() const
- public ~DwarfDebug()
Inherited from DebugHandlerBase:
- public beginBasicBlock
- public beginFunction
- protected beginFunctionImpl
- public beginInstruction
- public beginModule
- public endBasicBlock
- public endFunction
- protected endFunctionImpl
- public endInstruction
- public getBaseTypeSize
- public getInstOrdering
- public getLabelAfterInsn
- public getLabelBeforeInsn
- protected identifyScopeMarkers
- public isUnsignedDIType
- protected requestLabelAfterInsn
- protected requestLabelBeforeInsn
- protected skippedNonDebugFunction
Inherited from AsmPrinterHandler:
- public beginBasicBlock
- public beginFragment
- public beginFunclet
- public beginFunction
- public beginInstruction
- public beginModule
- public endBasicBlock
- public endFragment
- public endFunclet
- public endFunction
- public endInstruction
- public endModule
- public markFunctionEnd
- public setSymbolSize
Methods
¶DwarfDebug(llvm::AsmPrinter* A)
DwarfDebug(llvm::AsmPrinter* A)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:643
Parameters
¶void addAccelName(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
void addAccelName(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:791
Parameters
- const llvm::DICompileUnit& CU
- llvm::StringRef Name
- const llvm::DIE& Die
¶template <typename DataT>
void addAccelNameImpl(
const llvm::DICompileUnit& CU,
AccelTable<DataT>& AppleAccel,
llvm::StringRef Name,
const llvm::DIE& Die)
template <typename DataT>
void addAccelNameImpl(
const llvm::DICompileUnit& CU,
AccelTable<DataT>& AppleAccel,
llvm::StringRef Name,
const llvm::DIE& Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:478
Templates
- DataT
Parameters
- const llvm::DICompileUnit& CU
- AccelTable<DataT>& AppleAccel
- llvm::StringRef Name
- const llvm::DIE& Die
¶void addAccelNamespace(
const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
void addAccelNamespace(
const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:795
Parameters
- const llvm::DICompileUnit& CU
- llvm::StringRef Name
- const llvm::DIE& Die
¶void addAccelObjC(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
void addAccelObjC(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:793
Parameters
- const llvm::DICompileUnit& CU
- llvm::StringRef Name
- const llvm::DIE& Die
¶void addAccelType(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die,
char Flags)
void addAccelType(const llvm::DICompileUnit& CU,
llvm::StringRef Name,
const llvm::DIE& Die,
char Flags)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:798
Parameters
- const llvm::DICompileUnit& CU
- llvm::StringRef Name
- const llvm::DIE& Die
- char Flags
¶void addArangeLabel(llvm::SymbolCU SCU)
void addArangeLabel(llvm::SymbolCU SCU)
Description
Add a label so that arange data can be generated for it.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:669
Parameters
- llvm::SymbolCU SCU
¶void addDwarfTypeUnitType(
llvm::DwarfCompileUnit& CU,
llvm::StringRef Identifier,
llvm::DIE& Die,
const llvm::DICompositeType* CTy)
void addDwarfTypeUnitType(
llvm::DwarfCompileUnit& CU,
llvm::StringRef Identifier,
llvm::DIE& Die,
const llvm::DICompositeType* CTy)
Description
Add a DIE to the set of types that we're going to pull into type units.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:665
Parameters
- llvm::DwarfCompileUnit& CU
- llvm::StringRef Identifier
- llvm::DIE& Die
- const llvm::DICompositeType* CTy
¶void addGnuPubAttributes(
llvm::DwarfCompileUnit& U,
llvm::DIE& D) const
void addGnuPubAttributes(
llvm::DwarfCompileUnit& U,
llvm::DIE& D) const
Description
Flags to let the linker know we have emitted new style pubnames. Only emit it here if we don't have a skeleton CU for split dwarf.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:591
Parameters
¶void addStringTypeLoc(
const llvm::DIStringType* ST,
unsigned int Loc)
void addStringTypeLoc(
const llvm::DIStringType* ST,
unsigned int Loc)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:817
Parameters
- const llvm::DIStringType* ST
- unsigned int Loc
¶void addSubprogramNames(
const llvm::DICompileUnit& CU,
const llvm::DISubprogram* SP,
llvm::DIE& Die)
void addSubprogramNames(
const llvm::DICompileUnit& CU,
const llvm::DISubprogram* SP,
llvm::DIE& Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:786
Parameters
- const llvm::DICompileUnit& CU
- const llvm::DISubprogram* SP
- llvm::DIE& Die
¶bool alwaysUseRanges() const
bool alwaysUseRanges() const
Description
Returns whether range encodings should be used for single entry range lists.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:697
¶void beginFunctionImpl(
const llvm::MachineFunction* MF)
void beginFunctionImpl(
const llvm::MachineFunction* MF)
Description
Gather pre-function debug information.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:629
Parameters
- const llvm::MachineFunction* MF
¶void beginInstruction(
const llvm::MachineInstr* MI)
void beginInstruction(
const llvm::MachineInstr* MI)
Description
Process beginning of an instruction.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:658
Parameters
- const llvm::MachineInstr* MI
¶void beginModule(llvm::Module* M)
void beginModule(llvm::Module* M)
Description
Emit all Dwarf sections that should come prior to the content.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:649
Parameters
- llvm::Module* M
¶bool buildLocationList(
SmallVectorImpl<llvm::DebugLocEntry>&
DebugLoc,
const DbgValueHistoryMap::Entries& Entries)
bool buildLocationList(
SmallVectorImpl<llvm::DebugLocEntry>&
DebugLoc,
const DbgValueHistoryMap::Entries& Entries)
Description
Build the location list for all DBG_VALUEs in the function that describe the same variable. If the resulting list has only one entry that is valid for entire variable's scope return true.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:617
Parameters
- SmallVectorImpl<llvm::DebugLocEntry>& DebugLoc
- const DbgValueHistoryMap::Entries& Entries
¶void collectEntityInfo(
llvm::DwarfCompileUnit& TheCU,
const llvm::DISubprogram* SP,
DenseSet<llvm::DwarfDebug::InlinedEntity>&
ProcessedVars)
void collectEntityInfo(
llvm::DwarfCompileUnit& TheCU,
const llvm::DISubprogram* SP,
DenseSet<llvm::DwarfDebug::InlinedEntity>&
ProcessedVars)
Description
Populate LexicalScope entries with variables' info.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:610
Parameters
- llvm::DwarfCompileUnit& TheCU
- const llvm::DISubprogram* SP
- DenseSet<llvm::DwarfDebug::InlinedEntity>& ProcessedVars
¶void collectVariableInfoFromMFTable(
llvm::DwarfCompileUnit& TheCU,
DenseSet<llvm::DwarfDebug::InlinedEntity>& P)
void collectVariableInfoFromMFTable(
llvm::DwarfCompileUnit& TheCU,
DenseSet<llvm::DwarfDebug::InlinedEntity>& P)
Description
Collect variable information from the side table maintained by MF.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:621
Parameters
- llvm::DwarfCompileUnit& TheCU
- DenseSet<llvm::DwarfDebug::InlinedEntity>& P
¶void constructAbstractSubprogramScopeDIE(
llvm::DwarfCompileUnit& SrcCU,
llvm::LexicalScope* Scope)
void constructAbstractSubprogramScopeDIE(
llvm::DwarfCompileUnit& SrcCU,
llvm::LexicalScope* Scope)
Description
Construct a DIE for this abstract scope.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:471
Parameters
- llvm::DwarfCompileUnit& SrcCU
- llvm::LexicalScope* Scope
¶void constructAndAddImportedEntityDIE(
llvm::DwarfCompileUnit& TheCU,
const llvm::DIImportedEntity* N)
void constructAndAddImportedEntityDIE(
llvm::DwarfCompileUnit& TheCU,
const llvm::DIImportedEntity* N)
Description
Construct imported_module or imported_declaration DIE.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:600
Parameters
- llvm::DwarfCompileUnit& TheCU
- const llvm::DIImportedEntity* N
¶void constructCallSiteEntryDIEs(
const llvm::DISubprogram& SP,
llvm::DwarfCompileUnit& CU,
llvm::DIE& ScopeDIE,
const llvm::MachineFunction& MF)
void constructCallSiteEntryDIEs(
const llvm::DISubprogram& SP,
llvm::DwarfCompileUnit& CU,
llvm::DIE& ScopeDIE,
const llvm::MachineFunction& MF)
Description
Construct DIEs for call site entries describing the calls in \p MF.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:474
Parameters
- const llvm::DISubprogram& SP
- llvm::DwarfCompileUnit& CU
- llvm::DIE& ScopeDIE
- const llvm::MachineFunction& MF
¶llvm::DwarfCompileUnit& constructSkeletonCU(
const llvm::DwarfCompileUnit& CU)
llvm::DwarfCompileUnit& constructSkeletonCU(
const llvm::DwarfCompileUnit& CU)
Description
Construct the split debug info compile unit for the debug info section. In DWARF v5, the skeleton unit DIE may have the following attributes: DW_AT_addr_base, DW_AT_comp_dir, DW_AT_dwo_name, DW_AT_high_pc, DW_AT_low_pc, DW_AT_ranges, DW_AT_stmt_list, and DW_AT_str_offsets_base. Prior to DWARF v5 it may also have DW_AT_GNU_dwo_id. DW_AT_GNU_dwo_name is used instead of DW_AT_dwo_name, Dw_AT_GNU_addr_base instead of DW_AT_addr_base, and DW_AT_GNU_ranges_base instead of DW_AT_rnglists_base.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:569
Parameters
- const llvm::DwarfCompileUnit& CU
¶llvm::DbgEntity* createConcreteEntity(
llvm::DwarfCompileUnit& TheCU,
llvm::LexicalScope& Scope,
const llvm::DINode* Node,
const llvm::DILocation* Location,
const llvm::MCSymbol* Sym = nullptr)
llvm::DbgEntity* createConcreteEntity(
llvm::DwarfCompileUnit& TheCU,
llvm::LexicalScope& Scope,
const llvm::DINode* Node,
const llvm::DILocation* Location,
const llvm::MCSymbol* Sym = nullptr)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:464
Parameters
- llvm::DwarfCompileUnit& TheCU
- llvm::LexicalScope& Scope
- const llvm::DINode* Node
- const llvm::DILocation* Location
- const llvm::MCSymbol* Sym = nullptr
¶void emitAbbreviations()
void emitAbbreviations()
Description
Emit the abbreviation section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:493
¶template <typename AccelTableT>
void emitAccel(AccelTableT& Accel,
llvm::MCSection* Section,
llvm::StringRef TableName)
template <typename AccelTableT>
void emitAccel(AccelTableT& Accel,
llvm::MCSection* Section,
llvm::StringRef TableName)
Description
Emit a specified accelerator table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:500
Templates
- AccelTableT
Parameters
- AccelTableT& Accel
- llvm::MCSection* Section
- llvm::StringRef TableName
¶void emitAccelDebugNames()
void emitAccelDebugNames()
Description
Emit DWARF v5 accelerator table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:503
¶void emitAccelNames()
void emitAccelNames()
Description
Emit visible names into a hashed accelerator table section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:506
¶void emitAccelNamespaces()
void emitAccelNamespaces()
Description
Emit namespace dies into a hashed accelerator table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:513
¶void emitAccelObjC()
void emitAccelObjC()
Description
Emit objective C classes and categories into a hashed accelerator table section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:510
¶void emitAccelTypes()
void emitAccelTypes()
Description
Emit type dies into a hashed accelerator table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:516
¶void emitDebugARanges()
void emitDebugARanges()
Description
Emit address ranges into a debug aranges section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:537
¶void emitDebugAbbrevDWO()
void emitDebugAbbrevDWO()
Description
Emit the debug abbrev dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:575
¶void emitDebugAddr()
void emitDebugAddr()
Description
Emit DWO addresses.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:587
¶bool emitDebugEntryValues() const
bool emitDebugEntryValues() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:747
¶void emitDebugInfo()
void emitDebugInfo()
Description
Emit the debug info section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:490
¶void emitDebugInfoDWO()
void emitDebugInfoDWO()
Description
Emit the debug info dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:572
¶void emitDebugLineDWO()
void emitDebugLineDWO()
Description
Emit the debug line dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:578
¶void emitDebugLoc()
void emitDebugLoc()
Description
Emit variable locations into a debug loc section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:529
¶void emitDebugLocDWO()
void emitDebugLocDWO()
Description
Emit variable locations into a debug loc dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:532
¶void emitDebugLocEntry(
llvm::ByteStreamer& Streamer,
const DebugLocStream::Entry& Entry,
const llvm::DwarfCompileUnit* CU)
void emitDebugLocEntry(
llvm::ByteStreamer& Streamer,
const DebugLocStream::Entry& Entry,
const llvm::DwarfCompileUnit* CU)
Description
Emit an entry for the debug loc section. This can be used to handle an entry that's going to be emitted into the debug loc section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:778
Parameters
- llvm::ByteStreamer& Streamer
- const DebugLocStream::Entry& Entry
- const llvm::DwarfCompileUnit* CU
¶void emitDebugLocEntryLocation(
const DebugLocStream::Entry& Entry,
const llvm::DwarfCompileUnit* CU)
void emitDebugLocEntryLocation(
const DebugLocStream::Entry& Entry,
const llvm::DwarfCompileUnit* CU)
Description
Emit the location for a debug loc entry, including the size header.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:783
Parameters
- const DebugLocStream::Entry& Entry
- const llvm::DwarfCompileUnit* CU
¶void emitDebugLocImpl(llvm::MCSection* Sec)
void emitDebugLocImpl(llvm::MCSection* Sec)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:534
Parameters
- llvm::MCSection* Sec
¶static void emitDebugLocValue(
const llvm::AsmPrinter& AP,
const llvm::DIBasicType* BT,
const llvm::DbgValueLoc& Value,
llvm::DwarfExpression& DwarfExpr)
static void emitDebugLocValue(
const llvm::AsmPrinter& AP,
const llvm::DIBasicType* BT,
const llvm::DbgValueLoc& Value,
llvm::DwarfExpression& DwarfExpr)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:836
Parameters
- const llvm::AsmPrinter& AP
- const llvm::DIBasicType* BT
- const llvm::DbgValueLoc& Value
- llvm::DwarfExpression& DwarfExpr
¶void emitDebugMacinfo()
void emitDebugMacinfo()
Description
Emit macros into a debug macinfo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:545
¶void emitDebugMacinfoDWO()
void emitDebugMacinfoDWO()
Description
Emit macros into a debug macinfo.dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:547
¶void emitDebugMacinfoImpl(
llvm::MCSection* Section)
void emitDebugMacinfoImpl(
llvm::MCSection* Section)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:548
Parameters
- llvm::MCSection* Section
¶void emitDebugPubSection(
bool GnuStyle,
llvm::StringRef Name,
llvm::DwarfCompileUnit* TheU,
const StringMap<const llvm::DIE*>& Globals)
void emitDebugPubSection(
bool GnuStyle,
llvm::StringRef Name,
llvm::DwarfCompileUnit* TheU,
const StringMap<const llvm::DIE*>& Globals)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:521
Parameters
- bool GnuStyle
- llvm::StringRef Name
- llvm::DwarfCompileUnit* TheU
- const StringMap<const llvm::DIE*>& Globals
¶void emitDebugPubSections()
void emitDebugPubSections()
Description
Emit visible names and types into debug pubnames and pubtypes sections.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:519
¶void emitDebugRanges()
void emitDebugRanges()
Description
Emit address ranges into a debug ranges section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:540
¶void emitDebugRangesDWO()
void emitDebugRangesDWO()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:541
¶void emitDebugRangesImpl(
const llvm::DwarfFile& Holder,
llvm::MCSection* Section)
void emitDebugRangesImpl(
const llvm::DwarfFile& Holder,
llvm::MCSection* Section)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:542
Parameters
- const llvm::DwarfFile& Holder
- llvm::MCSection* Section
¶void emitDebugStr()
void emitDebugStr()
Description
Emit null-terminated strings into a debug str section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:526
¶void emitDebugStrDWO()
void emitDebugStrDWO()
Description
Emit the debug str dwo section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:584
¶llvm::DebugLoc emitInitialLocDirective(
const llvm::MachineFunction& MF,
unsigned int CUID)
llvm::DebugLoc emitInitialLocDirective(
const llvm::MachineFunction& MF,
unsigned int CUID)
Description
Emits inital debug location directive.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:655
Parameters
- const llvm::MachineFunction& MF
- unsigned int CUID
¶void emitMacro(llvm::DIMacro& M)
void emitMacro(llvm::DIMacro& M)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:549
Parameters
¶void emitMacroFile(llvm::DIMacroFile& F,
llvm::DwarfCompileUnit& U)
void emitMacroFile(llvm::DIMacroFile& F,
llvm::DwarfCompileUnit& U)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:550
Parameters
¶void emitMacroFileImpl(
llvm::DIMacroFile& F,
llvm::DwarfCompileUnit& U,
unsigned int StartFile,
unsigned int EndFile,
llvm::StringRef (*)(unsigned int)
MacroFormToString)
void emitMacroFileImpl(
llvm::DIMacroFile& F,
llvm::DwarfCompileUnit& U,
unsigned int StartFile,
unsigned int EndFile,
llvm::StringRef (*)(unsigned int)
MacroFormToString)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:551
Parameters
- llvm::DIMacroFile& F
- llvm::DwarfCompileUnit& U
- unsigned int StartFile
- unsigned int EndFile
- llvm::StringRef (*)(unsigned int) MacroFormToString
¶void emitSectionReference(
const llvm::DwarfCompileUnit& CU)
void emitSectionReference(
const llvm::DwarfCompileUnit& CU)
Description
Emit the reference to the section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:625
Parameters
- const llvm::DwarfCompileUnit& CU
¶void emitStringOffsetsTableHeader()
void emitStringOffsetsTableHeader()
Description
Emit the string offsets table header.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:496
¶void emitStringOffsetsTableHeaderDWO()
void emitStringOffsetsTableHeaderDWO()
Description
Emit the dwo stringoffsets table header.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:581
¶void endFunctionImpl(
const llvm::MachineFunction* MF)
void endFunctionImpl(
const llvm::MachineFunction* MF)
Description
Gather and emit post-function debug information.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:632
Parameters
- const llvm::MachineFunction* MF
¶void endModule()
void endModule()
Description
Emit all Dwarf sections that should come after the content.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:652
¶void ensureAbstractEntityIsCreated(
llvm::DwarfCompileUnit& CU,
const llvm::DINode* Node,
const llvm::MDNode* Scope)
void ensureAbstractEntityIsCreated(
llvm::DwarfCompileUnit& CU,
const llvm::DINode* Node,
const llvm::MDNode* Scope)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:457
Parameters
- llvm::DwarfCompileUnit& CU
- const llvm::DINode* Node
- const llvm::MDNode* Scope
¶void ensureAbstractEntityIsCreatedIfScoped(
llvm::DwarfCompileUnit& CU,
const llvm::DINode* Node,
const llvm::MDNode* Scope)
void ensureAbstractEntityIsCreatedIfScoped(
llvm::DwarfCompileUnit& CU,
const llvm::DINode* Node,
const llvm::MDNode* Scope)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:460
Parameters
- llvm::DwarfCompileUnit& CU
- const llvm::DINode* Node
- const llvm::MDNode* Scope
¶void finalizeModuleInfo()
void finalizeModuleInfo()
Description
Finish off debug information after all functions have been processed.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:487
¶void finishEntityDefinitions()
void finishEntityDefinitions()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:481
¶void finishSubprogramDefinitions()
void finishSubprogramDefinitions()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:483
¶void finishUnitAttributes(
const llvm::DICompileUnit* DIUnit,
llvm::DwarfCompileUnit& NewCU)
void finishUnitAttributes(
const llvm::DICompileUnit* DIUnit,
llvm::DwarfCompileUnit& NewCU)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:596
Parameters
- const llvm::DICompileUnit* DIUnit
- llvm::DwarfCompileUnit& NewCU
¶bool generateTypeUnits() const
bool generateTypeUnits() const
Description
Returns whether to generate DWARF v4 type units.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:722
¶llvm::AccelTableKind getAccelTableKind() const
llvm::AccelTableKind getAccelTableKind() const
Description
Returns what kind (if any) of accelerator tables to emit.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:727
¶llvm::AddressPool& getAddressPool()
llvm::AddressPool& getAddressPool()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:789
¶const llvm::MachineFunction* getCurrentFunction()
const
const llvm::MachineFunction* getCurrentFunction()
const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:801
¶const llvm::DebugLocStream& getDebugLocs() const
const llvm::DebugLocStream& getDebugLocs() const
Description
Returns the entries for the .debug_loc section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:774
¶unsigned int getDwarfCompileUnitIDForLineTable(
const llvm::DwarfCompileUnit& CU)
unsigned int getDwarfCompileUnitIDForLineTable(
const llvm::DwarfCompileUnit& CU)
Description
Get Dwarf compile unit ID for line table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:635
Parameters
- const llvm::DwarfCompileUnit& CU
¶dwarf::Form getDwarfSectionOffsetForm() const
dwarf::Form getDwarfSectionOffsetForm() const
Description
Returns a suitable DWARF form to represent a section offset, i.e. * DW_FORM_sec_offset for DWARF version >= 4; * DW_FORM_data8 for 64-bit DWARFv3; * DW_FORM_data4 for 32-bit DWARFv3 and DWARFv2.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:764
¶uint16_t getDwarfVersion() const
uint16_t getDwarfVersion() const
Description
Returns the Dwarf Version.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:758
¶llvm::MCDwarfDwoLineTable* getDwoLineTable(
const llvm::DwarfCompileUnit&)
llvm::MCDwarfDwoLineTable* getDwoLineTable(
const llvm::DwarfCompileUnit&)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:449
Parameters
- const llvm::DwarfCompileUnit&
¶Optional<MD5::MD5Result> getMD5AsBytes(
const llvm::DIFile* File) const
Optional<MD5::MD5Result> getMD5AsBytes(
const llvm::DIFile* File) const
Description
If the \p File has an MD5 checksum, return it as an MD5Result allocated in the MCContext.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:842
Parameters
- const llvm::DIFile* File
¶llvm::DwarfCompileUnit&
getOrCreateDwarfCompileUnit(
const llvm::DICompileUnit* DIUnit)
llvm::DwarfCompileUnit&
getOrCreateDwarfCompileUnit(
const llvm::DICompileUnit* DIUnit)
Description
Create new DwarfCompileUnit for the given metadata node with tag DW_TAG_compile_unit.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:595
Parameters
- const llvm::DICompileUnit* DIUnit
¶const llvm::DwarfCompileUnit* getPrevCU() const
const llvm::DwarfCompileUnit* getPrevCU() const
Description
Returns the previous CU that was being updated
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:767
¶const llvm::MCSymbol* getSectionLabel(
const llvm::MCSection* S)
const llvm::MCSymbol* getSectionLabel(
const llvm::MCSection* S)
Description
@ }
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:833
Parameters
- const llvm::MCSection* S
¶unsigned int getStringTypeLoc(
const llvm::DIStringType* ST) const
unsigned int getStringTypeLoc(
const llvm::DIStringType* ST) const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:813
Parameters
- const llvm::DIStringType* ST
¶const SmallVectorImpl<
std::unique_ptr<DwarfCompileUnit>>&
getUnits()
const SmallVectorImpl<
std::unique_ptr<DwarfCompileUnit>>&
getUnits()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:451
¶void handleMacroNodes(
llvm::DIMacroNodeArray Nodes,
llvm::DwarfCompileUnit& U)
void handleMacroNodes(
llvm::DIMacroNodeArray Nodes,
llvm::DwarfCompileUnit& U)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:554
Parameters
¶void initSkeletonUnit(
const llvm::DwarfUnit& U,
llvm::DIE& Die,
std::unique_ptr<DwarfCompileUnit> NewU)
void initSkeletonUnit(
const llvm::DwarfUnit& U,
llvm::DIE& Die,
std::unique_ptr<DwarfCompileUnit> NewU)
Description
Initialize common features of skeleton units.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:559
Parameters
- const llvm::DwarfUnit& U
- llvm::DIE& Die
- std::unique_ptr<DwarfCompileUnit> NewU
¶void insertSectionLabel(const llvm::MCSymbol* S)
void insertSectionLabel(const llvm::MCSymbol* S)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:834
Parameters
- const llvm::MCSymbol* S
¶bool isLexicalScopeDIENull(
llvm::LexicalScope* Scope)
bool isLexicalScopeDIENull(
llvm::LexicalScope* Scope)
Description
A helper function to check whether the DIE for a given Scope is going to be null.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:805
Parameters
- llvm::LexicalScope* Scope
¶const llvm::DwarfCompileUnit* lookupCU(
const llvm::DIE* Die) const
const llvm::DwarfCompileUnit* lookupCU(
const llvm::DIE* Die) const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:809
Parameters
- const llvm::DIE* Die
¶llvm::DwarfCompileUnit* lookupCU(
const llvm::DIE* Die)
llvm::DwarfCompileUnit* lookupCU(
const llvm::DIE* Die)
Description
Find the matching DwarfCompileUnit for the given CU DIE.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:808
Parameters
- const llvm::DIE* Die
¶static uint64_t makeTypeSignature(
llvm::StringRef Identifier)
static uint64_t makeTypeSignature(
llvm::StringRef Identifier)
Description
Perform an MD5 checksum of \p Identifier and return the lower 64 bits.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:661
Parameters
- llvm::StringRef Identifier
¶void recordSourceLine(unsigned int Line,
unsigned int Col,
const llvm::MDNode* Scope,
unsigned int Flags)
void recordSourceLine(unsigned int Line,
unsigned int Col,
const llvm::MDNode* Scope,
unsigned int Flags)
Description
Register a source line with debug info. Returns the unique label that was emitted and which provides correspondence to the source line list.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:606
Parameters
- unsigned int Line
- unsigned int Col
- const llvm::MDNode* Scope
- unsigned int Flags
¶void setPrevCU(
const llvm::DwarfCompileUnit* PrevCU)
void setPrevCU(
const llvm::DwarfCompileUnit* PrevCU)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:768
Parameters
- const llvm::DwarfCompileUnit* PrevCU
¶void setSymbolSize(const llvm::MCSymbol* Sym,
uint64_t Size)
void setSymbolSize(const llvm::MCSymbol* Sym,
uint64_t Size)
Description
For symbols that have a size designated (e.g. common symbols), this tracks that size.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:673
Parameters
- const llvm::MCSymbol* Sym
- uint64_t Size
¶bool shareAcrossDWOCUs() const
bool shareAcrossDWOCUs() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:755
¶void skippedNonDebugFunction()
void skippedNonDebugFunction()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:637
¶void terminateLineTable(
const llvm::DwarfCompileUnit* CU)
void terminateLineTable(
const llvm::DwarfCompileUnit* CU)
Description
Terminate the line table by adding the last range label.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:771
Parameters
- const llvm::DwarfCompileUnit* CU
¶bool tuneForDBX() const
bool tuneForDBX() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:830
¶bool tuneForGDB() const
bool tuneForGDB() const
Description
Returns whether we are "tuning" for a given debugger. @ {
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:827
¶bool tuneForLLDB() const
bool tuneForLLDB() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:828
¶bool tuneForSCE() const
bool tuneForSCE() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:829
¶bool useAddrOffsetExpressions() const
bool useAddrOffsetExpressions() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:703
¶bool useAddrOffsetForm() const
bool useAddrOffsetForm() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:709
¶bool useAllLinkageNames() const
bool useAllLinkageNames() const
Description
Returns whether we should emit all DW_AT_[MIPS_]linkage_name. If not, we still might emit certain cases.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:679
¶bool useAppleExtensionAttributes() const
bool useAppleExtensionAttributes() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:729
¶bool useDWARF2Bitfields() const
bool useDWARF2Bitfields() const
Description
Returns whether to use the DWARF2 format for bitfields instyead of the DWARF4 format.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:687
¶bool useGNUTLSOpcode() const
bool useGNUTLSOpcode() const
Description
Returns whether to use DW_OP_GNU_push_tls_address, instead of the standard DW_OP_form_tls_address opcode
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:683
¶bool useInlineStrings() const
bool useInlineStrings() const
Description
Returns whether to use inline strings.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:690
¶bool useLocSection() const
bool useLocSection() const
Description
Returns whether .debug_loc section should be emitted.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:719
¶bool useOpConvert() const
bool useOpConvert() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:751
¶bool useRangesSection() const
bool useRangesSection() const
Description
Returns whether ranges section should be emitted.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:693
¶bool useSectionsAsReferences() const
bool useSectionsAsReferences() const
Description
Returns whether to use sections as labels rather than temp symbols.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:714
¶bool useSegmentedStringOffsetsTable() const
bool useSegmentedStringOffsetsTable() const
Description
Returns whether to generate a string offsets table with (possibly shared) contributions from each CU and type unit. This implies the use of DW_FORM_strx* indirect references with DWARF v5 and beyond. Note that DW_FORM_GNU_str_index is also an indirect reference, but it is used with a pre-DWARF v5 implementation of split DWARF sections, which uses a monolithic string offsets table.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:743
¶bool useSplitDwarf() const
bool useSplitDwarf() const
Description
Returns whether or not to change the current debug info for the split dwarf proposal support.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:735
¶~DwarfDebug()
~DwarfDebug()
Description
Pin vtable to this file.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h:645