LLVM 19.0.0git
|
A container for a list of ranges. More...
#include "llvm/Transforms/IPO/Attributor.h"
Public Types | |
using | RangeTy = AA::RangeTy |
using | VecTy = SmallVector< RangeTy > |
using | iterator = VecTy::iterator |
using | const_iterator = VecTy::const_iterator |
using | value_type = RangeTy |
Public Member Functions | |
RangeList (const RangeTy &R) | |
RangeList (ArrayRef< int64_t > Offsets, int64_t Size) | |
RangeList ()=default | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
void | push_back (const RangeTy &R) |
unsigned | size () const |
bool | operator== (const RangeList &OI) const |
bool | merge (const RangeList &RHS) |
Merge the ranges in RHS into the current ranges. | |
std::pair< iterator, bool > | insert (iterator Pos, const RangeTy &R) |
Insert R at the given iterator Pos , and merge if necessary. | |
std::pair< iterator, bool > | insert (const RangeTy &R) |
Insert the given range R , maintaining sorted order. | |
void | addToAllOffsets (int64_t Inc) |
Add the increment Inc to the offset of every range. | |
bool | isUnique () const |
Return true iff there is exactly one range and it is known. | |
const RangeTy & | getUnique () const |
Return the unique range, assuming it exists. | |
bool | isUnknown () const |
Return true iff the list contains an unknown range. | |
iterator | setUnknown () |
Discard all ranges and insert a single unknown range. | |
bool | isUnassigned () const |
Return true if no ranges have been inserted. | |
Static Public Member Functions | |
static void | set_difference (const RangeList &L, const RangeList &R, RangeList &D) |
Copy ranges from L that are not in R , into D . | |
Public Attributes | |
VecTy | Ranges |
A container for a list of ranges.
Definition at line 5781 of file Attributor.h.
Definition at line 5789 of file Attributor.h.
Definition at line 5788 of file Attributor.h.
Definition at line 5786 of file Attributor.h.
Definition at line 5809 of file Attributor.h.
Definition at line 5787 of file Attributor.h.
Definition at line 5792 of file Attributor.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5793 of file Attributor.h.
References assert(), llvm::SmallVectorImpl< T >::emplace_back(), Ranges, llvm::SmallVectorImpl< T >::reserve(), and Size.
|
default |
|
inline |
Add the increment Inc
to the offset of every range.
Definition at line 5888 of file Attributor.h.
References assert(), isUnassigned(), isUnknown(), and Ranges.
|
inline |
Definition at line 5803 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::begin().
|
inline |
Definition at line 5805 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
|
inline |
Definition at line 5804 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::end().
|
inline |
Definition at line 5806 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Return the unique range, assuming it exists.
Definition at line 5904 of file Attributor.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::front(), isUnique(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::getUniqueRange().
Insert the given range R
, maintaining sorted order.
Definition at line 5883 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), insert(), and Ranges.
|
inline |
Insert R
at the given iterator Pos
, and merge if necessary.
This assumes that all ranges before Pos
are OffsetLessThan R
, and then maintains the sorted order for the suffix list.
Definition at line 5862 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorImpl< T >::insert(), isUnknown(), llvm::AA::RangeTy::OffsetLessThan(), Ranges, and setUnknown().
Referenced by llvm::AAPointerInfo::Access::addRange(), insert(), and merge().
|
inline |
Return true if no ranges have been inserted.
Definition at line 5928 of file Attributor.h.
References Ranges, and llvm::SmallVectorBase< Size_T >::size().
Referenced by addToAllOffsets(), and isUnknown().
|
inline |
Return true iff there is exactly one range and it is known.
Definition at line 5899 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::front(), Ranges, and llvm::SmallVectorBase< Size_T >::size().
Referenced by getUnique(), and llvm::AAPointerInfo::Access::hasUniqueRange().
|
inline |
Return true iff the list contains an unknown range.
Definition at line 5910 of file Attributor.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::front(), isUnassigned(), Ranges, and llvm::SmallVectorBase< Size_T >::size().
Referenced by addToAllOffsets(), insert(), and merge().
Merge the ranges in RHS
into the current ranges.
Definition at line 5831 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorBase< Size_T >::empty(), insert(), isUnknown(), Ranges, RHS, and setUnknown().
Referenced by llvm::AAPointerInfo::Access::operator&=().
Definition at line 5825 of file Attributor.h.
References Ranges.
Definition at line 5810 of file Attributor.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorBase< Size_T >::empty(), llvm::AA::RangeTy::OffsetLessThan(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inlinestatic |
Copy ranges from L
that are not in R
, into D
.
Definition at line 5817 of file Attributor.h.
References D, and llvm::AA::RangeTy::OffsetLessThan().
Referenced by llvm::AA::PointerInfo::State::addAccess().
|
inline |
Discard all ranges and insert a single unknown range.
Definition at line 5921 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::AA::RangeTy::getUnknown(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5823 of file Attributor.h.
References Ranges, and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::AAPointerInfo::Access::isMayAccess(), llvm::AAPointerInfo::Access::isMustAccess(), llvm::AAPointerInfo::Access::operator&=(), and llvm::AAPointerInfo::Access::verify().
VecTy llvm::AAPointerInfo::RangeList::Ranges |
Definition at line 5790 of file Attributor.h.
Referenced by addToAllOffsets(), begin(), end(), getUnique(), insert(), isUnassigned(), isUnique(), isUnknown(), merge(), operator==(), push_back(), RangeList(), setUnknown(), and size().