[mlir][IR] Add ForwardDominanceIterator for IR walkers
authorMatthias Springer <me@m-sp.org>
Mon, 13 Mar 2023 08:14:54 +0000 (09:14 +0100)
committerMatthias Springer <me@m-sp.org>
Mon, 13 Mar 2023 08:58:34 +0000 (09:58 +0100)
commitb884f4ef0a2de3d0f24111411dff663fd68c2eb0
treef44479044c29cd22c88b9d72d3f057130405602e
parente264fe89e37fc0b12e18d72ed98056cea1a9eba6
[mlir][IR] Add ForwardDominanceIterator for IR walkers

This iterator is similar to `ForwardIterator` but enumerates blocks according to their successor relationship. As a first use case, this new iterator is utilized in the dialect conversion framework.

Differential Revision: https://reviews.llvm.org/D144888
mlir/include/mlir/IR/Iterators.h [new file with mode: 0644]
mlir/include/mlir/IR/RegionKindInterface.h
mlir/include/mlir/IR/Visitors.h
mlir/lib/IR/RegionKindInterface.cpp
mlir/lib/Transforms/Utils/DialectConversion.cpp
mlir/test/IR/visitors.mlir
mlir/test/lib/IR/TestVisitors.cpp