[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