struct DWARFVerifier::DieRangeInfo

Declaration

struct DWARFVerifier::DieRangeInfo { /* full declaration omitted */ };

Description

A class that keeps the address range information for a single DIE.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:38

Member Variables

public llvm::DWARFDie Die
public std::vector<DWARFAddressRange> Ranges
Sorted DWARFAddressRanges.
public std::set<DieRangeInfo> Children
Sorted DWARFAddressRangeInfo.

Method Overview

  • public DieRangeInfo()
  • public DieRangeInfo(llvm::DWARFDie Die)
  • public DieRangeInfo(std::vector<DWARFAddressRange> Ranges)
  • public bool contains(const llvm::DWARFVerifier::DieRangeInfo & RHS) const
  • public Optional<llvm::DWARFAddressRange> insert(const llvm::DWARFAddressRange & R)
  • public llvm::DWARFVerifier::DieRangeInfo::die_range_info_iterator insert(const llvm::DWARFVerifier::DieRangeInfo & RI)
  • public bool intersects(const llvm::DWARFVerifier::DieRangeInfo & RHS) const

Methods

DieRangeInfo()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:47

DieRangeInfo(llvm::DWARFDie Die)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:48

Parameters

llvm::DWARFDie Die

DieRangeInfo(
    std::vector<DWARFAddressRange> Ranges)

Description

Used for unit testing.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:51

Parameters

std::vector<DWARFAddressRange> Ranges

bool contains(
    const llvm::DWARFVerifier::DieRangeInfo& RHS)
    const

Description

Return true if ranges in this object contains all ranges within RHS.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:73

Parameters

const llvm::DWARFVerifier::DieRangeInfo& RHS

Optional<llvm::DWARFAddressRange> insert(
    const llvm::DWARFAddressRange& R)

Description

Inserts the address range. If the range overlaps with an existing range, the range that it overlaps with will be returned and the two address ranges will be unioned together in "Ranges". This is used for finding overlapping ranges in the DW_AT_ranges attribute of a DIE. It is also used as a set of address ranges that children address ranges must all be contained in.

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

Parameters

const llvm::DWARFAddressRange& R

llvm::DWARFVerifier::DieRangeInfo::
    die_range_info_iterator
    insert(
        const llvm::DWARFVerifier::DieRangeInfo&
            RI)

Description

Inserts the address range info. If any of its ranges overlaps with a range in an existing range info, the range info is *not* added and an iterator to the overlapping range info. This is used for finding overlapping children of the same DIE.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:70

Parameters

const llvm::DWARFVerifier::DieRangeInfo& RI

bool intersects(
    const llvm::DWARFVerifier::DieRangeInfo& RHS)
    const

Description

Return true if any range in this object intersects with any range in RHS.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h:77

Parameters

const llvm::DWARFVerifier::DieRangeInfo& RHS