LLVM 22.0.0git
llvm::VPAllSuccessorsIterator< BlockPtrTy > Class Template Reference

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

#include "Transforms/Vectorize/VPlanCFG.h"

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

Public Types

using reference = BlockPtrTy
 Used by iterator_facade_base with bidirectional_iterator_tag.
Public Types inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::bidirectional_iterator_tag, VPBlockBase >
using iterator_category
using value_type
using difference_type
using pointer
using reference

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++ ()
VPAllSuccessorsIteratoroperator-- ()
VPAllSuccessorsIterator operator++ (int X)
Public Member Functions inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::bidirectional_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-- ()
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-> () const
ReferenceProxy operator[] (std::ptrdiff_t n) const

Static Public Member Functions

static VPAllSuccessorsIterator end (BlockPtrTy Block)

Additional Inherited Members

Protected Types inherited from llvm::iterator_facade_base< VPAllSuccessorsIterator< BlockPtrTy >, std::bidirectional_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 36 of file VPlanCFG.h.

Member Typedef Documentation

◆ reference

template<typename BlockPtrTy>
using llvm::VPAllSuccessorsIterator< BlockPtrTy >::reference = BlockPtrTy

Used by iterator_facade_base with bidirectional_iterator_tag.

Definition at line 67 of file VPlanCFG.h.

Constructor & Destructor Documentation

◆ VPAllSuccessorsIterator() [1/2]

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

Definition at line 69 of file VPlanCFG.h.

◆ VPAllSuccessorsIterator() [2/2]

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

Definition at line 71 of file VPlanCFG.h.

Member Function Documentation

◆ end()

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

Definition at line 80 of file VPlanCFG.h.

◆ operator*() [1/2]

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

Definition at line 97 of file VPlanCFG.h.

◆ operator*() [2/2]

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

Definition at line 95 of file VPlanCFG.h.

◆ operator++() [1/2]

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

Definition at line 99 of file VPlanCFG.h.

◆ operator++() [2/2]

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

Definition at line 109 of file VPlanCFG.h.

◆ operator--()

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

Definition at line 104 of file VPlanCFG.h.

◆ operator=()

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

Definition at line 74 of file VPlanCFG.h.

◆ operator==()

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

Definition at line 91 of file VPlanCFG.h.


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