LLVM 22.0.0git
llvm::DebugLocEntry Class Reference

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

#include "CodeGen/AsmPrinter/DebugLocEntry.h"

Public Member Functions

 DebugLocEntry (const MCSymbol *Begin, const MCSymbol *End, ArrayRef< DbgValueLoc > Vals)
 Create a location list entry for the range [Begin, End).
bool MergeRanges (const DebugLocEntry &Next)
 Attempt to merge this DebugLocEntry with Next and return true if the merge was successful.
const MCSymbolgetBeginSym () const
const MCSymbolgetEndSym () const
ArrayRef< DbgValueLocgetValues () const
void addValues (ArrayRef< DbgValueLoc > Vals)
void sortUniqueValues ()
void finalize (const AsmPrinter &AP, DebugLocStream::ListBuilder &List, const DIBasicType *BT, DwarfCompileUnit &TheCU)
 Lower this entry into a DWARF expression.

Detailed Description

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

Definition at line 183 of file DebugLocEntry.h.

Constructor & Destructor Documentation

◆ DebugLocEntry()

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

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

Parameters
ValsOne or more values describing (parts of) the variable.

Definition at line 196 of file DebugLocEntry.h.

References addValues().

Referenced by MergeRanges().

Member Function Documentation

◆ addValues()

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

◆ finalize()

◆ getBeginSym()

const MCSymbol * llvm::DebugLocEntry::getBeginSym ( ) const
inline

Definition at line 219 of file DebugLocEntry.h.

◆ getEndSym()

const MCSymbol * llvm::DebugLocEntry::getEndSym ( ) const
inline

Definition at line 220 of file DebugLocEntry.h.

◆ getValues()

ArrayRef< DbgValueLoc > llvm::DebugLocEntry::getValues ( ) const
inline

Definition at line 221 of file DebugLocEntry.h.

◆ MergeRanges()

bool llvm::DebugLocEntry::MergeRanges ( const DebugLocEntry & Next)
inline

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.

Definition at line 206 of file DebugLocEntry.h.

References DebugLocEntry(), and llvm::Next.

◆ sortUniqueValues()

void llvm::DebugLocEntry::sortUniqueValues ( )
inline

Definition at line 232 of file DebugLocEntry.h.

References A(), B(), llvm::sort(), and llvm::unique().

Referenced by addValues().


The documentation for this class was generated from the following files: