LLVM  8.0.1
Macros | Functions | Variables
VPlanVerifier.cpp File Reference

This file defines the class VPlanVerifier, which contains utility functions to check the consistency and invariants of a VPlan. More...

#include "VPlanVerifier.h"
#include "llvm/ADT/DepthFirstIterator.h"
Include dependency graph for VPlanVerifier.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "loop-vectorize"
 

Functions

static bool hasDuplicates (const SmallVectorImpl< VPBlockBase *> &VPBlockVec)
 Utility function that checks whether VPBlockVec has duplicate VPBlockBases. More...
 
static void verifyBlocksInRegion (const VPRegionBlock *Region)
 Helper function that verifies the CFG invariants of the VPBlockBases within Region. More...
 
static void verifyRegion (const VPRegionBlock *Region)
 Verify the CFG invariants of VPRegionBlock Region and its nested VPBlockBases. More...
 
static void verifyRegionRec (const VPRegionBlock *Region)
 Verify the CFG invariants of VPRegionBlock Region and its nested VPBlockBases. More...
 

Variables

static cl::opt< boolEnableHCFGVerifier ("vplan-verify-hcfg", cl::init(false), cl::Hidden, cl::desc("Verify VPlan H-CFG."))
 

Detailed Description

This file defines the class VPlanVerifier, which contains utility functions to check the consistency and invariants of a VPlan.

Definition in file VPlanVerifier.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "loop-vectorize"

Definition at line 19 of file VPlanVerifier.cpp.

Function Documentation

◆ hasDuplicates()

static bool hasDuplicates ( const SmallVectorImpl< VPBlockBase *> &  VPBlockVec)
static

◆ verifyBlocksInRegion()

static void verifyBlocksInRegion ( const VPRegionBlock Region)
static

Helper function that verifies the CFG invariants of the VPBlockBases within Region.

Checks in this function are generic for VPBlockBases. They are not specific for VPBasicBlocks or VPRegionBlocks.

Definition at line 44 of file VPlanVerifier.cpp.

References assert(), llvm::find(), llvm::VPRegionBlock::getEntry(), llvm::VPRegionBlock::getExit(), hasDuplicates(), and llvm::make_range().

Referenced by verifyRegion().

◆ verifyRegion()

static void verifyRegion ( const VPRegionBlock Region)
static

◆ verifyRegionRec()

static void verifyRegionRec ( const VPRegionBlock Region)
static

Verify the CFG invariants of VPRegionBlock Region and its nested VPBlockBases.

Recurse inside nested VPRegionBlocks.

Definition at line 113 of file VPlanVerifier.cpp.

References llvm::VPRegionBlock::getEntry(), llvm::VPRegionBlock::getExit(), llvm::make_range(), and verifyRegion().

Referenced by llvm::VPlanVerifier::verifyHierarchicalCFG().

Variable Documentation

◆ EnableHCFGVerifier

cl::opt<bool> EnableHCFGVerifier("vplan-verify-hcfg", cl::init(false), cl::Hidden, cl::desc("Verify VPlan H-CFG."))
static