9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
41 std::vector<uint64_t> Addrs;
44 void invalidateLength() { Length = 0; }
54 std::function<
void(
Error)> WarnCallback);
58 uint8_t CUAddrSize, std::function<
void(
Error)> WarnCallback);
This file contains constants used for implementing Dwarf debug support.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A class representing an address table as specified in DWARF v5.
uint16_t getVersion() const
Return the version of this table.
uint64_t getLength() const
Return the length of this table.
uint8_t getSegmentSelectorSize() const
Return the segment selector size of this table.
void dump(raw_ostream &OS, DIDumpOptions DumpOpts={}) const
uint8_t getAddressSize() const
Return the address size of this table.
ArrayRef< uint64_t > getAddressEntries() const
Return the parsed addresses of this table.
Error extractV5(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint8_t CUAddrSize, std::function< void(Error)> WarnCallback)
Extract a DWARFv5 address table.
Error extractPreStandard(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint16_t CUVersion, uint8_t CUAddrSize)
Extract a pre-DWARFv5 address table.
dwarf::DwarfFormat getFormat() const
Return the DWARF format of this table.
std::optional< uint64_t > getFullLength() const
Return the full length of this table, including the length field.
Expected< uint64_t > getAddrEntry(uint32_t Index) const
Return the address based on a given index.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This class implements an extremely fast bulk output stream that can only output to a stream.
DwarfFormat
Constants that define the DWARF format as 32 or 64 bit.
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr uintptr_t uintptr_t Data
Container for dump options that control which debug information will be dumped.