LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::VPlanVerifier Struct Reference

Struct with utility functions that can be used to check the consistency and invariants of a VPlan, including the components of its H-CFG. More...

#include "Transforms/Vectorize/VPlanVerifier.h"

Public Member Functions

void verifyHierarchicalCFG (const VPRegionBlock *TopRegion) const
 Verify the invariants of the H-CFG starting from TopRegion. More...
 

Static Public Member Functions

static bool verifyPlanIsValid (const VPlan &Plan)
 Verify invariants for general VPlans. More...
 

Detailed Description

Struct with utility functions that can be used to check the consistency and invariants of a VPlan, including the components of its H-CFG.

Definition at line 33 of file VPlanVerifier.h.

Member Function Documentation

◆ verifyHierarchicalCFG()

void VPlanVerifier::verifyHierarchicalCFG ( const VPRegionBlock TopRegion) const

Verify the invariants of the H-CFG starting from TopRegion.

The verification process comprises the following steps:

  1. Region/Block verification: Check the Region/Block verification invariants for every region in the H-CFG.

Definition at line 122 of file VPlanVerifier.cpp.

References assert(), llvm::dbgs(), EnableHCFGVerifier, llvm::VPBlockBase::getParent(), LLVM_DEBUG, and verifyRegionRec().

Referenced by llvm::VPlanHCFGBuilder::buildHierarchicalCFG().

◆ verifyPlanIsValid()

bool VPlanVerifier::verifyPlanIsValid ( const VPlan Plan)
static

Verify invariants for general VPlans.

Currently it checks the following:

  1. all phi-like recipes must be at the beginning of a block, with no other recipes in between. Note that currently there is still an exception for VPBlendRecipes.

Definition at line 132 of file VPlanVerifier.cpp.

References llvm::depth_first(), and llvm::VPlan::getEntry().


The documentation for this struct was generated from the following files: