LLVM 17.0.0git
Public Types | Static Public Member Functions | List of all members
llvm::GraphTraits< VPBlockDeepTraversalWrapper< VPBlockBase * > > Struct Reference

GraphTraits specialization to recursively traverse VPBlockBase nodes, including traversing through VPRegionBlocks. More...

#include "Transforms/Vectorize/VPlanCFG.h"

Public Types

using NodeRef = VPBlockBase *
 
using ChildIteratorType = VPAllSuccessorsIterator< VPBlockBase * >
 

Static Public Member Functions

static NodeRef getEntryNode (VPBlockDeepTraversalWrapper< VPBlockBase * > N)
 
static ChildIteratorType child_begin (NodeRef N)
 
static ChildIteratorType child_end (NodeRef N)
 

Detailed Description

GraphTraits specialization to recursively traverse VPBlockBase nodes, including traversing through 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 traversal of the graph.

Definition at line 127 of file VPlanCFG.h.

Member Typedef Documentation

◆ ChildIteratorType

Definition at line 129 of file VPlanCFG.h.

◆ NodeRef

Definition at line 128 of file VPlanCFG.h.

Member Function Documentation

◆ child_begin()

static ChildIteratorType llvm::GraphTraits< VPBlockDeepTraversalWrapper< VPBlockBase * > >::child_begin ( NodeRef  N)
inlinestatic

Definition at line 135 of file VPlanCFG.h.

References N.

◆ child_end()

Definition at line 139 of file VPlanCFG.h.

References N.

◆ getEntryNode()

Definition at line 131 of file VPlanCFG.h.

References N.


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