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 5837 of file Attributor.h.
Definition at line 5845 of file Attributor.h.
Definition at line 5844 of file Attributor.h.
Definition at line 5842 of file Attributor.h.
Definition at line 5865 of file Attributor.h.
Definition at line 5843 of file Attributor.h.
Definition at line 5848 of file Attributor.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5849 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 5944 of file Attributor.h.
References assert(), isUnassigned(), isUnknown(), and Ranges.
|
inline |
Definition at line 5859 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::begin().
|
inline |
Definition at line 5861 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
|
inline |
Definition at line 5860 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::end().
|
inline |
Definition at line 5862 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Return the unique range, assuming it exists.
Definition at line 5960 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 5939 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 LessThan R
, and then maintains the sorted order for the suffix list.
Definition at line 5918 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorImpl< T >::insert(), isUnknown(), llvm::AA::RangeTy::LessThan(), Ranges, and setUnknown().
Referenced by llvm::AAPointerInfo::Access::addRange(), insert(), and merge().
|
inline |
Return true if no ranges have been inserted.
Definition at line 5984 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 5955 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 5966 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 5887 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 5881 of file Attributor.h.
References Ranges.
Definition at line 5866 of file Attributor.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorBase< Size_T >::empty(), llvm::AA::RangeTy::LessThan(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inlinestatic |
Copy ranges from L
that are not in R
, into D
.
Definition at line 5873 of file Attributor.h.
References D, and llvm::AA::RangeTy::LessThan().
Referenced by llvm::AA::PointerInfo::State::addAccess().
|
inline |
Discard all ranges and insert a single unknown range.
Definition at line 5977 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 5879 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 5846 of file Attributor.h.
Referenced by addToAllOffsets(), begin(), end(), getUnique(), insert(), isUnassigned(), isUnique(), isUnknown(), merge(), operator==(), push_back(), RangeList(), setUnknown(), and size().