LLVM
8.0.1
|
This file defines the class VPlanVerifier, which contains utility functions to check the consistency and invariants of a VPlan. More...
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 19 of file VPlanVerifier.cpp.
|
static |
Utility function that checks whether VPBlockVec
has duplicate VPBlockBases.
Definition at line 30 of file VPlanVerifier.cpp.
References llvm::detail::DenseSetImpl< ValueT, SmallDenseMap< ValueT, detail::DenseSetEmpty, InlineBuckets, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), and llvm::detail::DenseSetImpl< ValueT, SmallDenseMap< ValueT, detail::DenseSetEmpty, InlineBuckets, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::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 44 of file VPlanVerifier.cpp.
References assert(), llvm::find(), llvm::VPRegionBlock::getEntry(), llvm::VPRegionBlock::getExit(), hasDuplicates(), and llvm::make_range().
Referenced by verifyRegion().
|
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.
References assert(), llvm::VPRegionBlock::getEntry(), llvm::VPRegionBlock::getExit(), llvm::VPBlockBase::getNumPredecessors(), llvm::VPBlockBase::getNumSuccessors(), and verifyBlocksInRegion().
Referenced by llvm::RegionBase< RegionTraits< Function > >::contains(), llvm::RegionBase< RegionTraits< Function > >::verifyRegion(), and verifyRegionRec().
|
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().