LLVM 20.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 5782 of file Attributor.h.
Definition at line 5790 of file Attributor.h.
Definition at line 5789 of file Attributor.h.
Definition at line 5787 of file Attributor.h.
Definition at line 5810 of file Attributor.h.
Definition at line 5788 of file Attributor.h.
Definition at line 5793 of file Attributor.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5794 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 5889 of file Attributor.h.
References assert(), isUnassigned(), isUnknown(), and Ranges.
|
inline |
Definition at line 5804 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::begin().
|
inline |
Definition at line 5806 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
|
inline |
Definition at line 5805 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::end().
|
inline |
Definition at line 5807 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Return the unique range, assuming it exists.
Definition at line 5905 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 5884 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 5863 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 5929 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 5900 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 5911 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 5832 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 5826 of file Attributor.h.
References Ranges.
Definition at line 5811 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 5818 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 5922 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 5824 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 5791 of file Attributor.h.
Referenced by addToAllOffsets(), begin(), end(), getUnique(), insert(), isUnassigned(), isUnique(), isUnknown(), merge(), operator==(), push_back(), RangeList(), setUnknown(), and size().