[PATCH] D44338: [LV][VPlan] Build plain CFG with simple recipes for outer loops.
Diego Caballero via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 19 09:51:58 PDT 2018
dcaballe added inline comments.
================
Comment at: lib/Transforms/Vectorize/VPlanVerifier.h:12
+/// This file declare the class VPlanVerifier, which contains utility functions
+/// to check the consistency and invariants of a VPlan.
+///
----------------
fhahn wrote:
> Is there a place where those invariants are mentioned? It may be worth briefly stating here what checks are done by the verifier. ATM it looks like it checks the links between the blocks and regions of the VPlan.
The invariants that we are currently checking are described in the documentation of 'verifyHierarchicalCFG' (just below). I think we could move them here so that we can reference them from different utility functions. For example:
```
/// This file declares the class VPlanVerifier, which contains utility functions
/// to check the consistency of a VPlan. This includes the following kinds of
/// invariants:
///
/// 1. Region/Block invariants:
/// - Region's entry/exit block must have no predecessors/successors,
/// respectively.
/// - Block's parent must be the region immediately containing the block.
/// - Linked blocks must have a bi-directional link (successor/predecessor).
/// - All predecessors/successors of a block must belong to the same region.
/// - Blocks must have no duplicated successor/predecessor.
```
What do you think?
Repository:
rL LLVM
https://reviews.llvm.org/D44338
More information about the llvm-commits
mailing list