LLVM 20.0.0git
Public Member Functions | List of all members
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(), and End.

Member Function Documentation

◆ addValues()

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

◆ finalize()

void DebugLocEntry::finalize ( const AsmPrinter AP,
DebugLocStream::ListBuilder List,
const DIBasicType BT,
DwarfCompileUnit TheCU 
)

◆ 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.

References End.

◆ 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 End, and llvm::SmallVectorBase< Size_T >::size().

◆ sortUniqueValues()

void llvm::DebugLocEntry::sortUniqueValues ( )
inline

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