LLVM
8.0.1
|
This struct describes location entries emitted in the .debug_loc section. More...
#include "CodeGen/AsmPrinter/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 26 of file DebugLocEntry.h.
Definition at line 104 of file DebugLocEntry.h.
References MergeValues(), and llvm::SmallVectorTemplateBase< T >::push_back().
|
inline |
Definition at line 131 of file DebugLocEntry.h.
References llvm::all_of(), llvm::SmallVectorImpl< T >::append(), assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::DebugLocEntry::Value::isFragment(), and sortUniqueValues().
void DebugLocEntry::finalize | ( | const AsmPrinter & | AP, |
DebugLocStream::ListBuilder & | List, | ||
const DIBasicType * | BT | ||
) |
Lower this entry into a DWARF expression.
Definition at line 1930 of file DwarfDebug.cpp.
References assert().
Referenced by sortUniqueValues().
Definition at line 128 of file DebugLocEntry.h.
Definition at line 129 of file DebugLocEntry.h.
Definition at line 130 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 119 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 1089 of file DwarfDebug.cpp.
Referenced by DebugLocEntry().
|
inline |
Definition at line 141 of file DebugLocEntry.h.
References B, llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorImpl< T >::erase(), finalize(), llvm::DebugLocEntry::Value::getExpression(), List, and llvm::sort().
Referenced by addValues().