LLVM 17.0.0git
|
AddressRangesMap class maps values to the address ranges. More...
#include "llvm/ADT/AddressRanges.h"
Public Member Functions | |
void | clear () |
bool | empty () const |
bool | contains (uint64_t Addr) const |
bool | contains (AddressRange Range) const |
void | insert (AddressRange Range, T Value) |
size_t | size () const |
std::optional< std::pair< AddressRange, T > > | getRangeValueThatContains (uint64_t Addr) const |
std::pair< AddressRange, T > | operator[] (size_t Idx) const |
Protected Types | |
using | ValuesCollection = SmallVector< T > |
![]() | |
using | Collection = SmallVector< AddressRange > |
Protected Attributes | |
ValuesCollection | Values |
![]() | |
Collection | Ranges |
Additional Inherited Members | |
![]() | |
Collection::const_iterator | find (uint64_t Addr) const |
Collection::const_iterator | find (AddressRange Range) const |
void | clear () |
bool | empty () const |
bool | contains (uint64_t Addr) const |
bool | contains (AddressRange Range) const |
std::optional< AddressRange > | getRangeThatContains (uint64_t Addr) const |
Collection::const_iterator | insert (AddressRange Range) |
void | reserve (size_t Capacity) |
size_t | size () const |
bool | operator== (const AddressRanges &RHS) const |
const AddressRange & | operator[] (size_t i) const |
Collection::const_iterator | begin () const |
Collection::const_iterator | end () const |
AddressRangesMap class maps values to the address ranges.
It keeps address ranges and corresponding values. If ranges are combined during insertion, then combined range keeps newly inserted value.
Definition at line 95 of file AddressRanges.h.
|
protected |
Definition at line 141 of file AddressRanges.h.
|
inline |
Definition at line 97 of file AddressRanges.h.
References llvm::SmallVectorImpl< T >::clear(), llvm::AddressRanges::Ranges, and llvm::AddressRangesMap< T >::Values.
|
inline |
Definition at line 103 of file AddressRanges.h.
References llvm::AddressRanges::contains().
|
inline |
Definition at line 102 of file AddressRanges.h.
References Addr, and llvm::AddressRanges::contains().
|
inline |
Definition at line 101 of file AddressRanges.h.
References llvm::AddressRanges::empty().
Referenced by llvm::DwarfStreamer::emitUnitRangesEntries().
|
inline |
Definition at line 129 of file AddressRanges.h.
References Addr, llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::AddressRanges::find(), llvm::AddressRanges::Ranges, and llvm::AddressRangesMap< T >::Values.
|
inline |
Definition at line 106 of file AddressRanges.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), Idx, llvm::AddressRanges::insert(), llvm::AddressRanges::Ranges, llvm::SmallVectorBase< Size_T >::size(), T, and llvm::AddressRangesMap< T >::Values.
Referenced by llvm::CompileUnit::addFunctionRange().
|
inline |
Definition at line 136 of file AddressRanges.h.
References Idx, llvm::AddressRanges::Ranges, and llvm::AddressRangesMap< T >::Values.
|
inline |
Definition at line 124 of file AddressRanges.h.
References assert(), llvm::AddressRanges::Ranges, llvm::AddressRanges::size(), llvm::SmallVectorBase< Size_T >::size(), and llvm::AddressRangesMap< T >::Values.
Referenced by llvm::DwarfStreamer::emitUnitRangesEntries().
|
protected |
Definition at line 142 of file AddressRanges.h.
Referenced by llvm::AddressRangesMap< T >::clear(), llvm::AddressRangesMap< T >::getRangeValueThatContains(), llvm::AddressRangesMap< T >::insert(), llvm::AddressRangesMap< T >::operator[](), and llvm::AddressRangesMap< T >::size().