Lines Matching defs:VPBB
33 // Verify that phi-like recipes are at the beginning of \p VPBB, with no
36 bool verifyPhiRecipes(const VPBasicBlock *VPBB);
38 bool verifyVPBasicBlock(const VPBasicBlock *VPBB);
63 bool VPlanVerifier::verifyPhiRecipes(const VPBasicBlock *VPBB) {
64 auto RecipeI = VPBB->begin();
65 auto End = VPBB->end();
67 const VPRegionBlock *ParentR = VPBB->getParent();
69 ParentR->getEntryBasicBlock() == VPBB;
75 errs() << "Found non-header PHI recipe in header VPBB";
84 errs() << "Found header PHI recipe in non-header VPBB";
117 bool VPlanVerifier::verifyVPBasicBlock(const VPBasicBlock *VPBB) {
118 if (!verifyPhiRecipes(VPBB))
121 // Verify that defs in VPBB dominate all their uses. The current
125 for (const VPRecipeBase &R : *VPBB)
128 for (const VPRecipeBase &R : *VPBB) {
139 if (UI->getParent() == VPBB) {
147 if (!VPDT.dominates(VPBB, UI->getParent())) {
155 auto *IRBB = dyn_cast<VPIRBasicBlock>(VPBB);
188 auto *VPBB = dyn_cast<VPBasicBlock>(VPB);
191 (VPBB && VPBB->getParent() && VPBB->isExiting() &&
192 !VPBB->getParent()->isReplicator())) {
193 if (!VPBB || !VPBB->getTerminator()) {
199 if (VPBB && VPBB->getTerminator()) {
247 return !VPBB || verifyVPBasicBlock(VPBB);