LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::VPAllSuccessorsIterator< BlockPtrTy > Class Template Reference

Iterator to traverse all successors of a VPBlockBase node. More...

#include "Transforms/Vectorize/VPlan.h"

Inheritance diagram for llvm::VPAllSuccessorsIterator< BlockPtrTy >:
Inheritance graph
[legend]
Collaboration diagram for llvm::VPAllSuccessorsIterator< BlockPtrTy >:
Collaboration graph
[legend]

Public Member Functions

 VPAllSuccessorsIterator (BlockPtrTy Block, size_t Idx=0)
 
 VPAllSuccessorsIterator (const VPAllSuccessorsIterator &Other)
 
VPAllSuccessorsIteratoroperator= (const VPAllSuccessorsIterator &R)
 
bool operator== (const VPAllSuccessorsIterator &R) const
 
const VPBlockBaseoperator* () const
 
BlockPtrTy operator* ()
 
VPAllSuccessorsIteratoroperator++ ()
 
VPAllSuccessorsIterator operator++ (int X)
 
- Public Member Functions inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::forward_iterator_tag, VPBlockBase >
VPAllSuccessorsIterator< BlockPtrTy > operator+ (std::ptrdiff_t n) const
 
VPAllSuccessorsIterator< BlockPtrTy > operator- (std::ptrdiff_t n) const
 
VPAllSuccessorsIterator< BlockPtrTy > & operator++ ()
 
VPAllSuccessorsIterator< BlockPtrTy > operator++ (int)
 
VPAllSuccessorsIterator< BlockPtrTy > & operator-- ()
 
VPAllSuccessorsIterator< BlockPtrTy > operator-- (int)
 
bool operator!= (const VPAllSuccessorsIterator< BlockPtrTy > &RHS) const
 
bool operator> (const VPAllSuccessorsIterator< BlockPtrTy > &RHS) const
 
bool operator<= (const VPAllSuccessorsIterator< BlockPtrTy > &RHS) const
 
bool operator>= (const VPAllSuccessorsIterator< BlockPtrTy > &RHS) const
 
PointerProxy operator-> ()
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (std::ptrdiff_t n)
 
ReferenceProxy operator[] (std::ptrdiff_t n) const
 

Static Public Member Functions

static VPAllSuccessorsIterator end (BlockPtrTy Block)
 

Additional Inherited Members

- Public Types inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::forward_iterator_tag, VPBlockBase >
using iterator_category = std::forward_iterator_tag
 
using value_type = VPBlockBase
 
using difference_type = std::ptrdiff_t
 
using pointer = VPBlockBase *
 
using reference = VPBlockBase &
 
- Protected Types inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::forward_iterator_tag, VPBlockBase >
enum  
 

Detailed Description

template<typename BlockPtrTy>
class llvm::VPAllSuccessorsIterator< BlockPtrTy >

Iterator to traverse all successors of a VPBlockBase node.

This includes the entry node of VPRegionBlocks. Exit blocks of a region implicitly have their parent region's successors. This ensures all blocks in a region are visited before any blocks in a successor region when doing a reverse post-order

Definition at line 1957 of file VPlan.h.

Constructor & Destructor Documentation

◆ VPAllSuccessorsIterator() [1/2]

template<typename BlockPtrTy >
llvm::VPAllSuccessorsIterator< BlockPtrTy >::VPAllSuccessorsIterator ( BlockPtrTy  Block,
size_t  Idx = 0 
)
inline

Definition at line 1987 of file VPlan.h.

◆ VPAllSuccessorsIterator() [2/2]

template<typename BlockPtrTy >
llvm::VPAllSuccessorsIterator< BlockPtrTy >::VPAllSuccessorsIterator ( const VPAllSuccessorsIterator< BlockPtrTy > &  Other)
inline

Definition at line 1989 of file VPlan.h.

References Other.

Member Function Documentation

◆ end()

template<typename BlockPtrTy >
static VPAllSuccessorsIterator llvm::VPAllSuccessorsIterator< BlockPtrTy >::end ( BlockPtrTy  Block)
inlinestatic

Definition at line 1998 of file VPlan.h.

◆ operator*() [1/2]

template<typename BlockPtrTy >
BlockPtrTy llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator* ( )
inline

Definition at line 2015 of file VPlan.h.

◆ operator*() [2/2]

template<typename BlockPtrTy >
const VPBlockBase* llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator* ( ) const
inline

Definition at line 2013 of file VPlan.h.

◆ operator++() [1/2]

template<typename BlockPtrTy >
VPAllSuccessorsIterator& llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator++ ( )
inline

Definition at line 2017 of file VPlan.h.

◆ operator++() [2/2]

template<typename BlockPtrTy >
VPAllSuccessorsIterator llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator++ ( int  X)
inline

Definition at line 2022 of file VPlan.h.

◆ operator=()

template<typename BlockPtrTy >
VPAllSuccessorsIterator& llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator= ( const VPAllSuccessorsIterator< BlockPtrTy > &  R)
inline

Definition at line 1992 of file VPlan.h.

◆ operator==()

template<typename BlockPtrTy >
bool llvm::VPAllSuccessorsIterator< BlockPtrTy >::operator== ( const VPAllSuccessorsIterator< BlockPtrTy > &  R) const
inline

Definition at line 2009 of file VPlan.h.


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