LLVM
15.0.0git
|
#include "VPlanVerifier.h"
#include "VPlan.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/Support/CommandLine.h"
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< bool > | EnableHCFGVerifier ("vplan-verify-hcfg", cl::init(false), cl::Hidden, cl::desc("Verify VPlan H-CFG.")) |
This file defines the class VPlanVerifier, which contains utility functions to check the consistency and invariants of a VPlan.
Definition in file VPlanVerifier.cpp.
#define DEBUG_TYPE "loop-vectorize" |
Definition at line 20 of file VPlanVerifier.cpp.
|
static |
Utility function that checks whether VPBlockVec
has duplicate VPBlockBases.
Definition at line 31 of file VPlanVerifier.cpp.
References llvm::detail::DenseSetImpl< ValueT, SmallDenseMap< ValueT, detail::DenseSetEmpty, 4, DenseMapInfo< ValueT >, detail::DenseSetPair< ValueT > >, DenseMapInfo< ValueT > >::count(), and llvm::detail::DenseSetImpl< ValueT, SmallDenseMap< ValueT, detail::DenseSetEmpty, 4, DenseMapInfo< ValueT >, detail::DenseSetPair< ValueT > >, DenseMapInfo< ValueT > >::insert().
Referenced by verifyBlocksInRegion().
|
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 45 of file VPlanVerifier.cpp.
References assert(), llvm::RegionBase< Tr >::getEntry(), hasDuplicates(), llvm::is_contained(), and llvm::make_range().
|
static |
Verify the CFG invariants of VPRegionBlock Region
and its nested VPBlockBases.
Do not recurse inside nested VPRegionBlocks.
Definition at line 98 of file VPlanVerifier.cpp.
Referenced by verifyRegionRec().
|
static |
Verify the CFG invariants of VPRegionBlock Region
and its nested VPBlockBases.
Recurse inside nested VPRegionBlocks.
Definition at line 114 of file VPlanVerifier.cpp.
References llvm::RegionBase< Tr >::getEntry(), llvm::make_range(), and verifyRegion().
Referenced by llvm::VPlanVerifier::verifyHierarchicalCFG().