LLVM 22.0.0git
|
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 MCSymbol * | getBeginSym () const |
const MCSymbol * | getEndSym () const |
ArrayRef< DbgValueLoc > | getValues () 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. |
This struct describes location entries emitted in the .debug_loc section.
Definition at line 183 of file DebugLocEntry.h.
|
inline |
Create a location list entry for the range [Begin
, End
).
Vals | One or more values describing (parts of) the variable. |
Definition at line 196 of file DebugLocEntry.h.
References addValues().
Referenced by MergeRanges().
|
inline |
Definition at line 222 of file DebugLocEntry.h.
References llvm::all_of(), assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), and sortUniqueValues().
Referenced by DebugLocEntry().
void DebugLocEntry::finalize | ( | const AsmPrinter & | AP, |
DebugLocStream::ListBuilder & | List, | ||
const DIBasicType * | BT, | ||
DwarfCompileUnit & | TheCU ) |
Lower this entry into a DWARF expression.
Definition at line 3187 of file DwarfDebug.cpp.
References llvm::all_of(), assert(), llvm::DwarfDebug::emitDebugLocValue(), llvm::DwarfExpression::finalize(), llvm::AsmPrinter::getDwarfVersion(), llvm::is_sorted(), llvm::List, P, and llvm::DwarfExpression::TagOffset.
Definition at line 219 of file DebugLocEntry.h.
Definition at line 220 of file DebugLocEntry.h.
|
inline |
Definition at line 221 of file DebugLocEntry.h.
|
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.
|
inline |
Definition at line 232 of file DebugLocEntry.h.
References A(), B(), llvm::sort(), and llvm::unique().
Referenced by addValues().