LLVM
15.0.0git
|
#include "llvm/ADT/IntervalMap.h"
Classes | |
class | const_iterator |
class | iterator |
Public Types | |
using | Allocator = typename Sizer::Allocator |
using | KeyType = KeyT |
using | ValueType = ValT |
using | KeyTraits = Traits |
Public Member Functions | |
IntervalMap (Allocator &a) | |
~IntervalMap () | |
bool | empty () const |
empty - Return true when no intervals are mapped. More... | |
KeyT | start () const |
start - Return the smallest mapped key in a non-empty map. More... | |
KeyT | stop () const |
stop - Return the largest mapped key in a non-empty map. More... | |
ValT | lookup (KeyT x, ValT NotFound=ValT()) const |
lookup - Return the mapped value at x or NotFound. More... | |
void | insert (KeyT a, KeyT b, ValT y) |
insert - Add a mapping of [a;b] to y, coalesce with adjacent intervals. More... | |
void | clear () |
clear - Remove all entries. More... | |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
const_iterator | find (KeyT x) const |
find - Return an iterator pointing to the first interval ending at or after x, or end(). More... | |
iterator | find (KeyT x) |
bool | overlaps (KeyT a, KeyT b) const |
overlaps(a, b) - Return true if the intervals in this map overlap with the interval [a;b]. More... | |
Friends | |
class | const_iterator |
class | iterator |
Definition at line 936 of file IntervalMap.h.
using llvm::IntervalMap< KeyT, ValT, N, Traits >::Allocator = typename Sizer::Allocator |
Definition at line 962 of file IntervalMap.h.
using llvm::IntervalMap< KeyT, ValT, N, Traits >::KeyTraits = Traits |
Definition at line 965 of file IntervalMap.h.
using llvm::IntervalMap< KeyT, ValT, N, Traits >::KeyType = KeyT |
Definition at line 963 of file IntervalMap.h.
using llvm::IntervalMap< KeyT, ValT, N, Traits >::ValueType = ValT |
Definition at line 964 of file IntervalMap.h.
|
inlineexplicit |
Definition at line 1041 of file IntervalMap.h.
|
inline |
Definition at line 1045 of file IntervalMap.h.
|
inline |
Definition at line 1102 of file IntervalMap.h.
|
inline |
Definition at line 1096 of file IntervalMap.h.
Referenced by llvm::CoalescingBitVector< IndexT >::begin(), llvm::CoalescingBitVector< IndexT >::count(), llvm::SplitEditor::dump(), llvm::LiveIntervalUnion::getOneVReg(), llvm::CoalescingBitVector< IndexT >::operator==(), llvm::LiveIntervalUnion::print(), llvm::CoalescingBitVector< IndexT >::print(), tryToShortenBegin(), and llvm::LiveIntervalUnion::verify().
void llvm::IntervalMap< KeyT, ValT, N, Traits >::clear |
clear - Remove all entries.
Definition at line 1280 of file IntervalMap.h.
Referenced by llvm::CoalescingBitVector< IndexT >::clear(), INITIALIZE_PASS(), llvm::SplitEditor::reset(), and llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::~IntervalMap().
|
inline |
empty - Return true when no intervals are mapped.
Definition at line 1051 of file IntervalMap.h.
Referenced by llvm::SplitEditor::dump(), llvm::CoalescingBitVector< IndexT >::empty(), llvm::pdb::NativeSession::findSymbolBySectOffset(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::lookup(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::start(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::stop(), tryToShortenBegin(), and tryToShortenEnd().
|
inline |
Definition at line 1114 of file IntervalMap.h.
|
inline |
Definition at line 1108 of file IntervalMap.h.
Referenced by llvm::CoalescingBitVector< IndexT >::find(), llvm::IntervalPartition::getBlockInterval(), llvm::pdb::NativeSession::moduleIndexForSectOffset(), llvm::pdb::NativeSession::moduleIndexForVA(), llvm::CoalescingBitVector< IndexT >::operator==(), llvm::CoalescingBitVector< IndexT >::reset(), llvm::CoalescingBitVector< IndexT >::test(), and tryToShortenEnd().
|
inline |
Definition at line 1128 of file IntervalMap.h.
|
inline |
find - Return an iterator pointing to the first interval ending at or after x, or end().
Definition at line 1122 of file IntervalMap.h.
Referenced by llvm::LiveIntervalUnion::extract(), llvm::CoalescingBitVector< IndexT >::find(), llvm::IntervalPartition::getBlockInterval(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::insert(), llvm::CoalescingBitVector< IndexT >::intersectWithComplement(), llvm::pdb::NativeSession::moduleIndexForSectOffset(), llvm::pdb::NativeSession::moduleIndexForVA(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::overlaps(), llvm::CoalescingBitVector< IndexT >::reset(), llvm::CoalescingBitVector< IndexT >::test(), and llvm::LiveIntervalUnion::unify().
|
inline |
insert - Add a mapping of [a;b] to y, coalesce with adjacent intervals.
It is assumed that no key in the interval is mapped to another value, but overlapping intervals already mapped to y will be coalesced.
Definition at line 1079 of file IntervalMap.h.
Referenced by llvm::CompileUnit::addFunctionRange(), and llvm::SplitEditor::leaveIntvAtTop().
|
inline |
lookup - Return the mapped value at x or NotFound.
Definition at line 1069 of file IntervalMap.h.
Referenced by llvm::SplitEditor::finish().
|
inline |
overlaps(a, b) - Return true if the intervals in this map overlap with the interval [a;b].
Definition at line 1136 of file IntervalMap.h.
|
inline |
start - Return the smallest mapped key in a non-empty map.
Definition at line 1056 of file IntervalMap.h.
Referenced by llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::lookup(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeStart().
|
inline |
stop - Return the largest mapped key in a non-empty map.
Definition at line 1062 of file IntervalMap.h.
Referenced by llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::lookup(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeStop().
|
friend |
Definition at line 1092 of file IntervalMap.h.
|
friend |
Definition at line 1094 of file IntervalMap.h.
Referenced by llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::begin(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::end(), and llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::find().
RootBranchData llvm::IntervalMap< KeyT, ValT, N, Traits >::branchData |
Definition at line 971 of file IntervalMap.h.
RootLeaf llvm::IntervalMap< KeyT, ValT, N, Traits >::leaf |
Definition at line 970 of file IntervalMap.h.