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);
43 bool verifyVPBasicBlock(const VPBasicBlock *VPBB);
69 bool VPlanVerifier::verifyPhiRecipes(const VPBasicBlock *VPBB) {
70 auto RecipeI = VPBB->begin();
71 auto End = VPBB->end();
73 const VPRegionBlock *ParentR = VPBB->getParent();
75 ParentR->getEntryBasicBlock() == VPBB;
81 errs() << "Found non-header PHI recipe in header VPBB";
90 errs() << "Found header PHI recipe in non-header VPBB";
178 bool VPlanVerifier::verifyVPBasicBlock(const VPBasicBlock *VPBB) {
179 if (!verifyPhiRecipes(VPBB))
182 // Verify that defs in VPBB dominate all their uses. The current
186 for (const VPRecipeBase &R : *VPBB)
189 for (const VPRecipeBase &R : *VPBB) {
190 if (isa<VPIRInstruction>(&R) && !isa<VPIRBasicBlock>(VPBB)) {
217 if (UI->getParent() == VPBB) {
225 if (!VPDT.dominates(VPBB, UI->getParent())) {
240 auto *IRBB = dyn_cast<VPIRBasicBlock>(VPBB);
264 auto *VPBB = dyn_cast<VPBasicBlock>(VPB);
267 (VPBB && VPBB->getParent() && VPBB->isExiting() &&
268 !VPBB->getParent()->isReplicator())) {
269 if (!VPBB || !VPBB->getTerminator()) {
275 if (VPBB && VPBB->getTerminator()) {
323 return !VPBB || verifyVPBasicBlock(VPBB);