LLVM  8.0.1
Public Member Functions | Friends | List of all members
AllocaSlices::partition_iterator Class Reference

An iterator over partitions of the alloca's slices. More...

Inheritance diagram for AllocaSlices::partition_iterator:
Inheritance graph
[legend]
Collaboration diagram for AllocaSlices::partition_iterator:
Collaboration graph
[legend]

Public Member Functions

bool operator== (const partition_iterator &RHS) const
 
partition_iteratoroperator++ ()
 
Partitionoperator* ()
 
- 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  
 

Detailed Description

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.

Definition at line 437 of file SROA.cpp.

Member Function Documentation

◆ operator*()

Partition& AllocaSlices::partition_iterator::operator* ( )
inline

◆ operator++()

partition_iterator& AllocaSlices::partition_iterator::operator++ ( )
inline

Definition at line 610 of file SROA.cpp.

◆ operator==()

bool AllocaSlices::partition_iterator::operator== ( const partition_iterator RHS) const
inline

Definition at line 590 of file SROA.cpp.

References assert(), llvm::SmallVectorBase::empty(), and llvm::SmallVectorBase::size().

Friends And Related Function Documentation

◆ AllocaSlices

friend class AllocaSlices
friend

Definition at line 440 of file SROA.cpp.


The documentation for this class was generated from the following file: