LLVM  14.0.0git
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
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (std::ptrdiff_t n) const
 

Friends

class AllocaSlices
 

Additional Inherited Members

- Public Types inherited from llvm::iterator_facade_base< partition_iterator, std::forward_iterator_tag, Partition >
using iterator_category = std::forward_iterator_tag
 
using value_type = Partition
 
using difference_type = std::ptrdiff_t
 
using pointer = Partition *
 
using reference = Partition &
 
- 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 427 of file SROA.cpp.

Member Function Documentation

◆ operator*()

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

Definition at line 601 of file SROA.cpp.

References P.

◆ operator++()

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

Definition at line 596 of file SROA.cpp.

◆ operator==()

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

Definition at line 576 of file SROA.cpp.

References assert(), and P.

Friends And Related Function Documentation

◆ AllocaSlices

friend class AllocaSlices
friend

Definition at line 430 of file SROA.cpp.


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