LLVM 18.0.0git
|
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 . | |
Static Public Member Functions | |
static bool | verifyPlanIsValid (const VPlan &Plan) |
Verify invariants for general VPlans. | |
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.
void VPlanVerifier::verifyHierarchicalCFG | ( | const VPRegionBlock * | TopRegion | ) | const |
Verify the invariants of the H-CFG starting from TopRegion
.
The verification process comprises the following steps:
Definition at line 126 of file VPlanVerifier.cpp.
References assert(), llvm::dbgs(), EnableHCFGVerifier, llvm::VPBlockBase::getParent(), LLVM_DEBUG, and verifyRegionRec().
Referenced by llvm::VPlanHCFGBuilder::buildHierarchicalCFG().
Verify invariants for general VPlans.
Currently it checks the following:
Definition at line 233 of file VPlanVerifier.cpp.
References llvm::VPInstruction::BranchOnCond, llvm::VPInstruction::BranchOnCount, llvm::VPBasicBlock::empty(), llvm::VPBasicBlock::end(), llvm::errs(), llvm::VPlan::getEntry(), llvm::RegionBase< Tr >::getEntry(), llvm::VPRegionBlock::getEntry(), llvm::VPRegionBlock::getExiting(), llvm::VPlan::getLiveOuts(), llvm::VPlan::getVectorLoopRegion(), llvm::DominatorTreeBase< NodeT, IsPostDom >::recalculate(), verifyVPBasicBlock(), and llvm::vp_depth_first_deep().