|
LLVM
4.0.0
|
This struct describes location entries emitted in the .debug_loc section. More...
#include <DebugLocEntry.h>
Classes | |
| struct | Value |
| A single location or constant. More... | |
Public Member Functions | |
| DebugLocEntry (const MCSymbol *B, const MCSymbol *E, Value Val) | |
| bool | MergeValues (const DebugLocEntry &Next) |
| If this and Next are describing different pieces of the same variable, merge them by appending Next's values to the current list of values. More... | |
| bool | MergeRanges (const DebugLocEntry &Next) |
| Attempt to merge this DebugLocEntry with Next and return true if the merge was successful. More... | |
| const MCSymbol * | getBeginSym () const |
| const MCSymbol * | getEndSym () const |
| ArrayRef< Value > | getValues () const |
| void | addValues (ArrayRef< DebugLocEntry::Value > Vals) |
| void | sortUniqueValues () |
| void | finalize (const AsmPrinter &AP, DebugLocStream::ListBuilder &List, const DIBasicType *BT) |
| Lower this entry into a DWARF expression. More... | |
This struct describes location entries emitted in the .debug_loc section.
Definition at line 25 of file DebugLocEntry.h.
Definition at line 101 of file DebugLocEntry.h.
|
inline |
Definition at line 128 of file DebugLocEntry.h.
References llvm::all_of(), assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::DebugLocEntry::Value::isFragment(), and sortUniqueValues().
Referenced by MergeValues().
| void DebugLocEntry::finalize | ( | const AsmPrinter & | AP, |
| DebugLocStream::ListBuilder & | List, | ||
| const DIBasicType * | BT | ||
| ) |
Lower this entry into a DWARF expression.
Definition at line 1524 of file DwarfDebug.cpp.
References llvm::all_of(), assert(), emitDebugLocValue(), llvm::AsmPrinter::getDwarfVersion(), llvm::DebugLocStream::EntryBuilder::getStreamer(), llvm::DebugLocEntry::Value::isFragment(), and P.
Definition at line 125 of file DebugLocEntry.h.
Definition at line 126 of file DebugLocEntry.h.
Definition at line 127 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 116 of file DebugLocEntry.h.
| bool DebugLocEntry::MergeValues | ( | const DebugLocEntry & | Next | ) |
If this and Next are describing different pieces of the same variable, merge them by appending Next's values to the current list of values.
If this and Next are describing different fragments of the same variable, merge them by appending Next's values to the current list of values.
Return true if the merge was successful.
Definition at line 823 of file DwarfDebug.cpp.
References addValues(), llvm::DebugHandlerBase::fragmentCmp(), and i.
|
inline |
Definition at line 138 of file DebugLocEntry.h.
References A, B, and llvm::DebugLocEntry::Value::getExpression().
Referenced by addValues().
1.8.6