LLVM 20.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(), and End.
|
inline |
Definition at line 222 of file DebugLocEntry.h.
References llvm::all_of(), llvm::SmallVectorImpl< T >::append(), assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::SmallVectorBase< Size_T >::size(), 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 2730 of file DwarfDebug.cpp.
References llvm::all_of(), assert(), llvm::DwarfDebug::emitDebugLocValue(), llvm::SmallVectorBase< Size_T >::empty(), llvm::DwarfExpression::finalize(), llvm::AsmPrinter::getDwarfVersion(), llvm::is_sorted(), llvm::List, P, llvm::SmallVectorBase< Size_T >::size(), and llvm::DwarfExpression::TagOffset.
Definition at line 219 of file DebugLocEntry.h.
Definition at line 220 of file DebugLocEntry.h.
References End.
|
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 End, and llvm::SmallVectorBase< Size_T >::size().
|
inline |
Definition at line 232 of file DebugLocEntry.h.
References A, B, llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorImpl< T >::erase(), llvm::SmallVectorBase< Size_T >::size(), llvm::sort(), and llvm::unique().
Referenced by addValues().