class DebugLocEntry

Declaration

class DebugLocEntry { /* full declaration omitted */ };

Description

This struct describes location entries emitted in the .debug_loc section.

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:171

Member Variables

private const llvm::MCSymbol* Begin
Begin and end symbols for the address range that this location is valid.
private const llvm::MCSymbol* End
private SmallVector<llvm::DbgValueLoc, 1> Values
A nonempty list of locations/constants belonging to this entry, sorted by offset.

Method Overview

  • public DebugLocEntry(const llvm::MCSymbol * Begin, const llvm::MCSymbol * End, ArrayRef<llvm::DbgValueLoc> Vals)
  • public bool MergeRanges(const llvm::DebugLocEntry & Next)
  • public void addValues(ArrayRef<llvm::DbgValueLoc> Vals)
  • public void finalize(const llvm::AsmPrinter & AP, DebugLocStream::ListBuilder & List, const llvm::DIBasicType * BT, llvm::DwarfCompileUnit & TheCU)
  • public const llvm::MCSymbol * getBeginSym() const
  • public const llvm::MCSymbol * getEndSym() const
  • public ArrayRef<llvm::DbgValueLoc> getValues() const
  • public void sortUniqueValues()

Methods

DebugLocEntry(const llvm::MCSymbol* Begin,
              const llvm::MCSymbol* End,
              ArrayRef<llvm::DbgValueLoc> Vals)

Description

Create a location list entry for the range [\p Begin, \p End).

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:184

Parameters

const llvm::MCSymbol* Begin
const llvm::MCSymbol* End
ArrayRef<llvm::DbgValueLoc> Vals
One or more values describing (parts of) the variable.

bool MergeRanges(const llvm::DebugLocEntry& Next)

Description

Attempt to merge this DebugLocEntry with Next and return true if the merge was successful. Entries can be merged if they share the same Loc/Constant and if Next immediately follows this Entry.

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:194

Parameters

const llvm::DebugLocEntry& Next

void addValues(ArrayRef<llvm::DbgValueLoc> Vals)

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:206

Parameters

ArrayRef<llvm::DbgValueLoc> Vals

void finalize(const llvm::AsmPrinter& AP,
              DebugLocStream::ListBuilder& List,
              const llvm::DIBasicType* BT,
              llvm::DwarfCompileUnit& TheCU)

Description

Lower this entry into a DWARF expression.

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:226

Parameters

const llvm::AsmPrinter& AP
DebugLocStream::ListBuilder& List
const llvm::DIBasicType* BT
llvm::DwarfCompileUnit& TheCU

const llvm::MCSymbol* getBeginSym() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:203

const llvm::MCSymbol* getEndSym() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:204

ArrayRef<llvm::DbgValueLoc> getValues() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:205

void sortUniqueValues()

Declared at: llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:216