LLVM 22.0.0git
AllocaSlices::partition_iterator Class Reference

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

Inheritance diagram for AllocaSlices::partition_iterator:
[legend]

Public Member Functions

bool operator== (const partition_iterator &RHS) const
partition_iteratoroperator++ ()
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-- ()
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
using value_type
using difference_type
using pointer
using reference
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 783 of file SROA.cpp.

Member Function Documentation

◆ operator*()

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

Definition at line 957 of file SROA.cpp.

◆ operator++()

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

Definition at line 952 of file SROA.cpp.

◆ operator==()

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

Definition at line 932 of file SROA.cpp.

References assert().

◆ AllocaSlices

friend class AllocaSlices
friend

Definition at line 786 of file SROA.cpp.

References AllocaSlices.

Referenced by AllocaSlices.


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