|
MLIR 23.0.0git
|
This iterator enumerates elements according to their reverse dominance relationship. More...
#include "mlir/IR/Iterators.h"
Static Public Member Functions | |
| static constexpr auto | makeIterable (Block &range) |
| static constexpr auto | makeIterable (Operation &range) |
| static auto | makeIterable (Region ®ion) |
This iterator enumerates elements according to their reverse dominance relationship.
Operations and regions are enumerated in "reverse" order. Blocks are enumerated according to their successor relationship, but post-order. I.e., a block is visited after its successors have been visited. Cycles in the block graph are broken in an unspecified way. Unreachable blocks are not enumerated. Blocks may not be erased during the traversal.
Note: If SkipGraphRegion is set to "true", graph regions (regions without SSA dominance) are silently skipped during the traversal.
Regions of unregistered ops are always treated as SSACFG regions (i.e., they are visited even when SkipGraphRegion=true), because mayHaveSSADominance returns true for unregistered ops.
Definition at line 94 of file Iterators.h.
|
inlinestaticconstexpr |
Definition at line 96 of file Iterators.h.
References mlir::ForwardIterator::makeIterable().
|
inlinestaticconstexpr |
Definition at line 100 of file Iterators.h.
References mlir::ForwardIterator::makeIterable().
|
inlinestatic |
Definition at line 104 of file Iterators.h.
References mlir::Region::empty(), mlir::Region::front(), and mlir::mayHaveSSADominance().