LLVM  12.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::DWARFAddressRange Struct Reference

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

Collaboration diagram for llvm::DWARFAddressRange:
Collaboration graph

Public Member Functions

 DWARFAddressRange ()=default
 DWARFAddressRange (uint64_t LowPC, uint64_t HighPC, uint64_t SectionIndex=object::SectionedAddress::UndefSection)
 Used for unit testing. More...
bool valid () const
 Returns true if LowPC is smaller or equal to HighPC. More...
bool intersects (const DWARFAddressRange &RHS) const
 Returns true if [LowPC, HighPC) intersects with [RHS.LowPC, RHS.HighPC). More...
bool merge (const DWARFAddressRange &RHS)
 Union two address ranges if they intersect. More...
void dump (raw_ostream &OS, uint32_t AddressSize, DIDumpOptions DumpOpts={}, const DWARFObject *Obj=nullptr) const

Public Attributes

uint64_t LowPC
uint64_t HighPC
uint64_t SectionIndex

Detailed Description

Definition at line 22 of file DWARFAddressRange.h.

Constructor & Destructor Documentation

◆ DWARFAddressRange() [1/2]

llvm::DWARFAddressRange::DWARFAddressRange ( )

◆ DWARFAddressRange() [2/2]

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

Used for unit testing.

Definition at line 30 of file DWARFAddressRange.h.

Member Function Documentation

◆ dump()

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

◆ intersects()

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

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

Definition at line 40 of file DWARFAddressRange.h.

References assert(), HighPC, LowPC, and valid().

Referenced by merge().

◆ merge()

bool llvm::DWARFAddressRange::merge ( const DWARFAddressRange RHS)

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.

RHSAnother address range to combine with.
false if the ranges don't intersect, true if they do and the ranges were combined.

Definition at line 58 of file DWARFAddressRange.h.

References dump(), HighPC, intersects(), and LowPC.

◆ valid()

bool llvm::DWARFAddressRange::valid ( ) const

Returns true if LowPC is smaller or equal to HighPC.

This accounts for dead-stripped ranges.

Definition at line 37 of file DWARFAddressRange.h.

References HighPC.

Referenced by intersects().

Member Data Documentation

◆ HighPC

uint64_t llvm::DWARFAddressRange::HighPC

◆ LowPC

uint64_t llvm::DWARFAddressRange::LowPC

◆ SectionIndex

uint64_t llvm::DWARFAddressRange::SectionIndex

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