LLVM
8.0.1
|
A class that keeps the address range information for a single DIE. More...
#include "llvm/DebugInfo/DWARF/DWARFVerifier.h"
Public Types | |
typedef std::vector< DWARFAddressRange >::const_iterator | address_range_iterator |
typedef std::set< DieRangeInfo >::const_iterator | die_range_info_iterator |
Public Member Functions | |
DieRangeInfo ()=default | |
DieRangeInfo (DWARFDie Die) | |
DieRangeInfo (std::vector< DWARFAddressRange > Ranges) | |
Used for unit testing. More... | |
address_range_iterator | insert (const DWARFAddressRange &R) |
Inserts the address range. More... | |
address_range_iterator | findRange (const DWARFAddressRange &R) const |
Finds an address range in the sorted vector of ranges. More... | |
die_range_info_iterator | insert (const DieRangeInfo &RI) |
Inserts the address range info. More... | |
bool | contains (const DieRangeInfo &RHS) const |
Return true if ranges in this object contains all ranges within RHS. More... | |
bool | intersects (const DieRangeInfo &RHS) const |
Return true if any range in this object intersects with any range in RHS. More... | |
Public Attributes | |
DWARFDie | Die |
std::vector< DWARFAddressRange > | Ranges |
Sorted DWARFAddressRanges. More... | |
std::set< DieRangeInfo > | Children |
Sorted DWARFAddressRangeInfo. More... | |
A class that keeps the address range information for a single DIE.
Definition at line 39 of file DWARFVerifier.h.
typedef std::vector<DWARFAddressRange>::const_iterator llvm::DWARFVerifier::DieRangeInfo::address_range_iterator |
Definition at line 56 of file DWARFVerifier.h.
typedef std::set<DieRangeInfo>::const_iterator llvm::DWARFVerifier::DieRangeInfo::die_range_info_iterator |
Definition at line 57 of file DWARFVerifier.h.
|
default |
|
inline |
Definition at line 49 of file DWARFVerifier.h.
|
inline |
Used for unit testing.
Definition at line 52 of file DWARFVerifier.h.
bool DWARFVerifier::DieRangeInfo::contains | ( | const DieRangeInfo & | RHS | ) | const |
Return true if ranges in this object contains all ranges within RHS.
Definition at line 63 of file DWARFVerifier.cpp.
References Ranges.
Referenced by llvm::DWARFVerifier::handleDebugInfo().
|
inline |
Finds an address range in the sorted vector of ranges.
Definition at line 67 of file DWARFVerifier.h.
DWARFVerifier::DieRangeInfo::address_range_iterator DWARFVerifier::DieRangeInfo::insert | ( | const DWARFAddressRange & | R | ) |
Inserts the address range.
If the range overlaps with an existing range, the range is not added and an iterator to the overlapping range is returned.
This is used for finding overlapping ranges within the same DIE.
Definition at line 31 of file DWARFVerifier.cpp.
Referenced by llvm::DWARFVerifier::handleDebugInfo().
DWARFVerifier::DieRangeInfo::die_range_info_iterator DWARFVerifier::DieRangeInfo::insert | ( | const DieRangeInfo & | RI | ) |
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.
Definition at line 51 of file DWARFVerifier.cpp.
bool DWARFVerifier::DieRangeInfo::intersects | ( | const DieRangeInfo & | RHS | ) | const |
Return true if any range in this object intersects with any range in RHS.
Definition at line 88 of file DWARFVerifier.cpp.
References Ranges.
std::set<DieRangeInfo> llvm::DWARFVerifier::DieRangeInfo::Children |
Sorted DWARFAddressRangeInfo.
Definition at line 46 of file DWARFVerifier.h.
Referenced by llvm::DWARFVerifier::handleDebugInfo().
DWARFDie llvm::DWARFVerifier::DieRangeInfo::Die |
Definition at line 40 of file DWARFVerifier.h.
Referenced by llvm::DWARFVerifier::handleDebugInfo(), and llvm::operator<().
std::vector<DWARFAddressRange> llvm::DWARFVerifier::DieRangeInfo::Ranges |
Sorted DWARFAddressRanges.
Definition at line 43 of file DWARFVerifier.h.
Referenced by contains(), llvm::DWARFVerifier::handleDebugInfo(), intersects(), and llvm::operator<().