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 5845 of file Attributor.h.
Definition at line 5853 of file Attributor.h.
Definition at line 5852 of file Attributor.h.
Definition at line 5850 of file Attributor.h.
Definition at line 5873 of file Attributor.h.
Definition at line 5851 of file Attributor.h.
Definition at line 5856 of file Attributor.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5857 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 5952 of file Attributor.h.
References assert(), isUnassigned(), isUnknown(), and Ranges.
|
inline |
Definition at line 5867 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::begin().
|
inline |
Definition at line 5869 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
|
inline |
Definition at line 5868 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::end().
|
inline |
Definition at line 5870 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Return the unique range, assuming it exists.
Definition at line 5968 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 5947 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 5926 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 5992 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 5963 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 5974 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 5895 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 5889 of file Attributor.h.
References Ranges.
Definition at line 5874 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 5881 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 5985 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 5887 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 5854 of file Attributor.h.
Referenced by addToAllOffsets(), begin(), end(), getUnique(), insert(), isUnassigned(), isUnique(), isUnknown(), merge(), operator==(), push_back(), RangeList(), setUnknown(), and size().