diff options
author | Florian Hahn <flo@fhahn.com> | 2021-04-23 11:33:38 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2021-04-23 17:26:47 +0100 |
commit | 89c4dda076e29bb085426a621ea5797ced599f03 (patch) | |
tree | fc3455c298b18a5658821736a3418845a60ad9a3 /llvm/lib/CodeGen/MachineFunctionSplitter.cpp | |
parent | 17330a3cb13aed9743f3f60eb8310c06aa34f1ca (diff) | |
download | llvm-89c4dda076e29bb085426a621ea5797ced599f03.zip llvm-89c4dda076e29bb085426a621ea5797ced599f03.tar.gz llvm-89c4dda076e29bb085426a621ea5797ced599f03.tar.bz2 |
[VPlan] Add GraphTraits impl to traverse through VPRegionBlock.
This patch adds a new iterator to traverse through VPRegionBlocks and a
GraphTraits specialization using the iterator to traverse through
VPRegionBlocks.
Because there is already a GraphTraits specialization for VPBlockBase *
and co, a new VPBlockRecursiveTraversalWrapper helper is introduced.
This allows us to provide a new GraphTraits specialization for that
type. Users can use the new recursive traversal by using this wrapper.
The graph trait visits both the entry block of a region, as well as all
its successors. 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.
Reviewed By: a.elovikov
Differential Revision: https://reviews.llvm.org/D100175
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionSplitter.cpp')
0 files changed, 0 insertions, 0 deletions