|
LLVM 23.0.0git
|
Iterator to traverse all successors/predecessors of a VPBlockBase node, including its hierarchical successors/predecessors: More...
#include "Transforms/Vectorize/VPlanCFG.h"
Public Types | |
| using | reference = BlockPtrTy |
| Used by iterator_facade_base with bidirectional_iterator_tag. | |
| Public Types inherited from llvm::iterator_facade_base< VPHierarchicalChildrenIterator< BlockPtrTy, true >, std::bidirectional_iterator_tag, VPBlockBase > | |
| enum | |
| using | iterator_category |
| using | value_type |
| using | difference_type |
| using | pointer |
| using | reference |
Static Public Member Functions | |
| static VPHierarchicalChildrenIterator | end (BlockPtrTy Block) |
Iterator to traverse all successors/predecessors of a VPBlockBase node, including its hierarchical successors/predecessors:
A |
+--—+ <- Region R
| b |
|---|
| ... |
| e |
+--—+ | B
Forward == true: Region blocks themselves traverse only their entries directly. Region's successor is implictly traversed when processing its exiting block. children(A) == {R} children(R) == {b} children(e) == {B}
Forward == false: Region blocks themselves traverse only their exiting blocks directly. Region's predecessor is implicitly traversed when processing its entry block. children(B) == {R} children(R) == {e} children(b) == {A}
The scheme described above ensures that all blocks of the region are visited before continuing traversal outside the region when doing a reverse post-order traversal of the VPlan.
Definition at line 63 of file VPlanCFG.h.
| using llvm::VPHierarchicalChildrenIterator< BlockPtrTy, Forward >::reference = BlockPtrTy |
Used by iterator_facade_base with bidirectional_iterator_tag.
Definition at line 111 of file VPlanCFG.h.
|
inline |
Definition at line 113 of file VPlanCFG.h.
|
inline |
Definition at line 115 of file VPlanCFG.h.
|
inlinestatic |
Definition at line 125 of file VPlanCFG.h.
|
inline |
Definition at line 143 of file VPlanCFG.h.
|
inline |
Definition at line 141 of file VPlanCFG.h.
|
inline |
Definition at line 145 of file VPlanCFG.h.
|
inline |
Definition at line 155 of file VPlanCFG.h.
|
inline |
Definition at line 150 of file VPlanCFG.h.
|
inline |
Definition at line 119 of file VPlanCFG.h.
|
inline |
Definition at line 137 of file VPlanCFG.h.