struct DWARFAddressRange

Declaration

struct DWARFAddressRange { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:25

Member Variables

public uint64_t LowPC
public uint64_t HighPC
public uint64_t SectionIndex

Method Overview

  • public DWARFAddressRange()
  • public DWARFAddressRange(uint64_t LowPC, uint64_t HighPC, uint64_t SectionIndex = object::SectionedAddress::UndefSection)
  • public void dump(llvm::raw_ostream & OS, uint32_t AddressSize, llvm::DIDumpOptions DumpOpts = {}, const llvm::DWARFObject * Obj = nullptr) const
  • public bool intersects(const llvm::DWARFAddressRange & RHS) const
  • public bool merge(const llvm::DWARFAddressRange & RHS)
  • public bool valid() const

Methods

DWARFAddressRange()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:30

DWARFAddressRange(
    uint64_t LowPC,
    uint64_t HighPC,
    uint64_t SectionIndex =
        object::SectionedAddress::UndefSection)

Description

Used for unit testing.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:33

Parameters

uint64_t LowPC
uint64_t HighPC
uint64_t SectionIndex = object::SectionedAddress::UndefSection

void dump(
    llvm::raw_ostream& OS,
    uint32_t AddressSize,
    llvm::DIDumpOptions DumpOpts = {},
    const llvm::DWARFObject* Obj = nullptr) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:71

Parameters

llvm::raw_ostream& OS
uint32_t AddressSize
llvm::DIDumpOptions DumpOpts = {}
const llvm::DWARFObject* Obj = nullptr

bool intersects(
    const llvm::DWARFAddressRange& RHS) const

Description

Returns true if [LowPC, HighPC) intersects with [RHS.LowPC, RHS.HighPC).

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:43

Parameters

const llvm::DWARFAddressRange& RHS

bool merge(const llvm::DWARFAddressRange& RHS)

Description

Union two address ranges if they intersect. This function will union two address ranges if they intersect by modifying this range to be the union of both ranges. If the two ranges don't intersect this range will be left alone.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:63

Parameters

const llvm::DWARFAddressRange& RHS
Another address range to combine with.

Returns

false if the ranges don't intersect, true if they do and the ranges were combined.

bool valid() const

Description

Returns true if LowPC is smaller or equal to HighPC. This accounts for dead-stripped ranges.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h:40