MLIR  20.0.0git
Static Public Member Functions | List of all members
mlir::ForwardDominanceIterator< NoGraphRegions > Struct Template Reference

This iterator enumerates elements according to their dominance relationship. More...

#include "mlir/IR/Iterators.h"

Static Public Member Functions

static BlockmakeIterable (Block &range)
 
static auto makeIterable (Region &region)
 
static MutableArrayRef< RegionmakeIterable (Operation &range)
 

Detailed Description

template<bool NoGraphRegions = false>
struct mlir::ForwardDominanceIterator< NoGraphRegions >

This iterator enumerates elements according to their dominance relationship.

Operations and regions are enumerated in "forward" order. Blocks are enumerated according to their successor relationship. Unreachable blocks are not enumerated. Blocks may not be erased during the traversal.

Note: If NoGraphRegions is set to "true", this iterator asserts that each visited region has SSA dominance. In either case, the ops in such regions are visited in forward order, but for regions without SSA dominance this does not guarantee that defining ops are visited before their users.

Definition at line 48 of file Iterators.h.

Member Function Documentation

◆ makeIterable() [1/3]

template<bool NoGraphRegions = false>
static Block& mlir::ForwardDominanceIterator< NoGraphRegions >::makeIterable ( Block range)
inlinestatic

Definition at line 49 of file Iterators.h.

References mlir::ForwardIterator::makeIterable().

◆ makeIterable() [2/3]

template<bool NoGraphRegions = false>
static MutableArrayRef<Region> mlir::ForwardDominanceIterator< NoGraphRegions >::makeIterable ( Operation range)
inlinestatic

Definition at line 70 of file Iterators.h.

References mlir::ForwardIterator::makeIterable().

◆ makeIterable() [3/3]

template<bool NoGraphRegions = false>
static auto mlir::ForwardDominanceIterator< NoGraphRegions >::makeIterable ( Region region)
inlinestatic

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