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 5836 of file Attributor.h.
Definition at line 5844 of file Attributor.h.
Definition at line 5843 of file Attributor.h.
Definition at line 5841 of file Attributor.h.
Definition at line 5864 of file Attributor.h.
Definition at line 5842 of file Attributor.h.
Definition at line 5847 of file Attributor.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Ranges.
|
inline |
Definition at line 5848 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 5943 of file Attributor.h.
References assert(), isUnassigned(), isUnknown(), and Ranges.
|
inline |
Definition at line 5858 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::begin().
|
inline |
Definition at line 5860 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and Ranges.
|
inline |
Definition at line 5859 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Referenced by llvm::AAPointerInfo::Access::end().
|
inline |
Definition at line 5861 of file Attributor.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Ranges.
Return the unique range, assuming it exists.
Definition at line 5959 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 5938 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 5917 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 5983 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 5954 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 5965 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 5886 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 5880 of file Attributor.h.
References Ranges.
Definition at line 5865 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 5872 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 5976 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 5878 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 5845 of file Attributor.h.
Referenced by addToAllOffsets(), begin(), end(), getUnique(), insert(), isUnassigned(), isUnique(), isUnknown(), merge(), operator==(), push_back(), RangeList(), setUnknown(), and size().