LLVM
8.0.1
|
An iterator over partitions of the alloca's slices. More...
Public Member Functions | |
bool | operator== (const partition_iterator &RHS) const |
partition_iterator & | operator++ () |
Partition & | operator* () |
Public Member Functions inherited from llvm::iterator_facade_base< partition_iterator, std::forward_iterator_tag, Partition > | |
partition_iterator | operator+ (std::ptrdiff_t n) const |
partition_iterator | operator- (std::ptrdiff_t n) const |
partition_iterator & | operator++ () |
partition_iterator | operator++ (int) |
partition_iterator & | operator-- () |
partition_iterator | operator-- (int) |
bool | operator!= (const partition_iterator &RHS) const |
bool | operator> (const partition_iterator &RHS) const |
bool | operator<= (const partition_iterator &RHS) const |
bool | operator>= (const partition_iterator &RHS) const |
Partition * | operator-> () |
Partition * | operator-> () const |
ReferenceProxy | operator[] (std::ptrdiff_t n) |
ReferenceProxy | operator[] (std::ptrdiff_t n) const |
Friends | |
class | AllocaSlices |
Additional Inherited Members | |
Protected Types inherited from llvm::iterator_facade_base< partition_iterator, std::forward_iterator_tag, Partition > | |
enum | |
An iterator over partitions of the alloca's slices.
This iterator implements the core algorithm for partitioning the alloca's slices. It is a forward iterator as we don't support backtracking for efficiency reasons, and re-use a single storage area to maintain the current set of split slices.
It is templated on the slice iterator type to use so that it can operate with either const or non-const slice iterators.
|
inline |
Definition at line 615 of file SROA.cpp.
References llvm::sys::path::begin(), llvm::sys::path::end(), llvm::make_range(), P, and llvm::sroa::AllocaSlices::partitions().
|
inline |
|
inline |
Definition at line 590 of file SROA.cpp.
References assert(), llvm::SmallVectorBase::empty(), and llvm::SmallVectorBase::size().
|
friend |