LLVM 22.0.0git
llvm::GraphTraits< VPBlockDeepTraversalWrapper< VPBlockBase * > > Struct Reference

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

#include "Transforms/Vectorize/VPlanCFG.h"

Inheritance diagram for llvm::GraphTraits< VPBlockDeepTraversalWrapper< VPBlockBase * > >:
[legend]

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 130 of file VPlanCFG.h.

Member Typedef Documentation

◆ ChildIteratorType

Definition at line 132 of file VPlanCFG.h.

◆ NodeRef

Definition at line 131 of file VPlanCFG.h.

Member Function Documentation

◆ child_begin()

Definition at line 138 of file VPlanCFG.h.

References N.

◆ child_end()

◆ getEntryNode()

Definition at line 134 of file VPlanCFG.h.

References N.


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