LLVM  12.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::DWARFDebugLoclists Class Referencefinal

#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"

Inheritance diagram for llvm::DWARFDebugLoclists:
Inheritance graph
Collaboration diagram for llvm::DWARFDebugLoclists:
Collaboration graph

Public Member Functions

 DWARFDebugLoclists (DWARFDataExtractor Data, uint16_t Version)
Error visitLocationList (uint64_t *Offset, function_ref< bool(const DWARFLocationEntry &)> Callback) const override
 Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at Offset. More...
void dumpRange (uint64_t StartOffset, uint64_t Size, raw_ostream &OS, const MCRegisterInfo *MRI, const DWARFObject &Obj, DIDumpOptions DumpOpts)
 Dump all location lists within the given range. More...
- Public Member Functions inherited from llvm::DWARFLocationTable
 DWARFLocationTable (DWARFDataExtractor Data)
virtual ~DWARFLocationTable ()=default
bool dumpLocationList (uint64_t *Offset, raw_ostream &OS, Optional< object::SectionedAddress > BaseAddr, const MCRegisterInfo *MRI, const DWARFObject &Obj, DWARFUnit *U, DIDumpOptions DumpOpts, unsigned Indent) const
 Dump the location list at the given Offset. More...
Error visitAbsoluteLocationList (uint64_t Offset, Optional< object::SectionedAddress > BaseAddr, std::function< Optional< object::SectionedAddress >(uint32_t)> LookupAddr, function_ref< bool(Expected< DWARFLocationExpression >)> Callback) const

Protected Member Functions

void dumpRawEntry (const DWARFLocationEntry &Entry, raw_ostream &OS, unsigned Indent, DIDumpOptions DumpOpts, const DWARFObject &Obj) const override

Additional Inherited Members

- Protected Attributes inherited from llvm::DWARFLocationTable
DWARFDataExtractor Data

Detailed Description

Definition at line 120 of file DWARFDebugLoc.h.

Constructor & Destructor Documentation

◆ DWARFDebugLoclists()

llvm::DWARFDebugLoclists::DWARFDebugLoclists ( DWARFDataExtractor  Data,
uint16_t  Version 

Definition at line 122 of file DWARFDebugLoc.h.

References MRI, and Size.

Member Function Documentation

◆ dumpRange()

void DWARFDebugLoclists::dumpRange ( uint64_t  StartOffset,
uint64_t  Size,
raw_ostream OS,
const MCRegisterInfo MRI,
const DWARFObject Obj,
DIDumpOptions  DumpOpts 

Dump all location lists within the given range.

Definition at line 387 of file DWARFDebugLoc.cpp.

References llvm::Data, and llvm::None.

◆ dumpRawEntry()

void DWARFDebugLoclists::dumpRawEntry ( const DWARFLocationEntry Entry,
raw_ostream OS,
unsigned  Indent,
DIDumpOptions  DumpOpts,
const DWARFObject Obj 
) const

Implements llvm::DWARFLocationTable.

Definition at line 341 of file DWARFDebugLoc.cpp.

◆ visitLocationList()

Error DWARFDebugLoclists::visitLocationList ( uint64_t *  Offset,
function_ref< bool(const DWARFLocationEntry &)>  Callback 
) const

Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at Offset.

The callback can return false to terminate the iteration early. Returns an error if it was unable to parse the entire location list correctly. Upon successful termination Offset will be updated point past the end of the list.

Implements llvm::DWARFLocationTable.

Definition at line 274 of file DWARFDebugLoc.cpp.

References C, llvm::cantFail(), llvm::createStringError(), llvm::Data, E, F(), llvm::illegal_byte_sequence, llvm::DWARFLocationEntry::Kind, llvm::DWARFLocationEntry::Loc, llvm::DWARFLocationEntry::SectionIndex, llvm::Error::success(), llvm::DataExtractor::Cursor::takeError(), llvm::DataExtractor::Cursor::tell(), llvm::DWARFLocationEntry::Value0, llvm::DWARFLocationEntry::Value1, and llvm::IndexedInstrProf::Version.

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