Searched refs:VPBB (Results 1 – 13 of 13) sorted by relevance
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanPredicator.cpp | 46 VPValue *getBlockInMask(VPBasicBlock *VPBB) const { in getBlockInMask() 47 return BlockMaskCache.lookup(VPBB); in getBlockInMask() 52 void setBlockInMask(VPBasicBlock *VPBB, VPValue *Mask) { in setBlockInMask() argument 55 assert(!getBlockInMask(VPBB) && "Mask already set"); in setBlockInMask() 56 BlockMaskCache[VPBB] = Mask; in setBlockInMask() 79 VPValue *createBlockInMask(VPBasicBlock *VPBB); 82 void convertPhisToBlends(VPBasicBlock *VPBB); 129 VPValue *VPPredicator::createBlockInMask(VPBasicBlock *VPBB) { in createBlockInMask() argument 131 Builder.setInsertPoint(VPBB, VPBB->getFirstNonPhi()); in createBlockInMask() 137 VPBB->getPredecessors().begin(), VPBB->getPredecessors().end())) { in createBlockInMask() [all …]
|
| H A D | VPlanVerifier.cpp | 38 bool verifyPhiRecipes(const VPBasicBlock *VPBB); 45 bool verifyVPBasicBlock(const VPBasicBlock *VPBB); 72 bool VPlanVerifier::verifyPhiRecipes(const VPBasicBlock *VPBB) { in verifyPhiRecipes() argument 73 auto RecipeI = VPBB->begin(); in verifyPhiRecipes() 74 auto End = VPBB->end(); in verifyPhiRecipes() 76 bool IsHeaderVPBB = VPBlockUtils::isHeader(VPBB, VPDT); in verifyPhiRecipes() 104 if (PhiIRI->getNumOperands() != VPBB->getNumPredecessors()) { in verifyPhiRecipes() 213 bool VPlanVerifier::verifyVPBasicBlock(const VPBasicBlock *VPBB) { in verifyVPBasicBlock() argument 214 if (!verifyPhiRecipes(VPBB)) in verifyVPBasicBlock() 220 for (const VPRecipeBase &R : *VPBB) in verifyVPBasicBlock() [all …]
|
| H A D | VPlanConstruction.cpp | 57 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB); 64 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB); 77 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB() argument 82 VPBB->setPredecessors(VPBBPreds); in setVPBBPredsFromBB() 112 if (auto *VPBB = BB2VPBB.lookup(BB)) { in getOrCreateVPBB() local 114 return VPBB; in getOrCreateVPBB() 120 VPBasicBlock *VPBB = Plan->createVPBasicBlock(Name); in getOrCreateVPBB() local 121 BB2VPBB[BB] = VPBB; in getOrCreateVPBB() 122 return VPBB; in getOrCreateVPBB() 173 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB, in createVPInstructionsForVPBB() argument [all …]
|
| H A D | VPlanTransforms.cpp | 49 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in tryToConvertVPInstructionsToVPRecipes() 51 if (!VPBB->getParent()) in tryToConvertVPInstructionsToVPRecipes() 53 VPRecipeBase *Term = VPBB->getTerminator(); in tryToConvertVPInstructionsToVPRecipes() 54 auto EndIter = Term ? Term->getIterator() : VPBB->end(); in tryToConvertVPInstructionsToVPRecipes() 57 make_early_inc_range(make_range(VPBB->begin(), EndIter))) { in tryToConvertVPInstructionsToVPRecipes() 134 VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(EntryVPBB->getSuccessors()[0]); in sinkScalarOperands() local 135 if (!VPBB || VPBB->getSingleSuccessor() != VPR->getExitingBasicBlock()) in sinkScalarOperands() 137 for (auto &Recipe : *VPBB) { in sinkScalarOperands() 141 WorkList.insert(std::make_pair(VPBB, Def)); in sinkScalarOperands() 379 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in addReplicateRegions() [all …]
|
| H A D | VPlanUnroll.cpp | 286 VPBasicBlock &VPBB = *R.getParent(); in unrollRecipeByUF() local 289 Copy->insertBefore(VPBB, InsertPt); in unrollRecipeByUF() 342 auto *VPBB = cast<VPBasicBlock>(VPB); in unrollBlock() local 343 auto InsertPtForPhi = VPBB->getFirstNonPhi(); in unrollBlock() 344 for (VPRecipeBase &R : make_early_inc_range(*VPBB)) { in unrollBlock() 407 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in unrollByUF() 408 for (VPRecipeBase &R : make_early_inc_range(*VPBB)) { in unrollByUF() 506 for (VPBasicBlock *VPBB : VPBBsToUnroll) { in replicateByVF() 507 for (VPRecipeBase &R : make_early_inc_range(*VPBB)) { in replicateByVF()
|
| H A D | VPlan.cpp | 212 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in isHeader() local 213 if (!VPBB) in isHeader() 218 if (auto *R = VPBB->getParent()) in isHeader() 219 return !R->isReplicator() && VPBB->getNumPredecessors() == 0; in isHeader() 644 static bool hasConditionalTerminator(const VPBasicBlock *VPBB) { in hasConditionalTerminator() argument 645 if (VPBB->empty()) { in hasConditionalTerminator() 647 VPBB->getNumSuccessors() < 2 && in hasConditionalTerminator() 652 const VPRecipeBase *R = &VPBB->back(); in hasConditionalTerminator() 660 if (VPBB->getNumSuccessors() == 2 || in hasConditionalTerminator() 661 (VPBB->isExiting() && !VPBB->getParent()->isReplicator())) { in hasConditionalTerminator() [all …]
|
| H A D | VPlanAnalysis.cpp | 319 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in collectEphemeralRecipesForVPlan() 321 for (VPRecipeBase &R : *VPBB) { in collectEphemeralRecipesForVPlan() 441 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in calculateRegisterUsageForPlan() 442 if (!VPBB->getParent()) in calculateRegisterUsageForPlan() 444 for (VPRecipeBase &R : *VPBB) { in calculateRegisterUsageForPlan() 470 if (VPBB == Plan.getVectorLoopRegion()->getExiting()) { in calculateRegisterUsageForPlan()
|
| H A D | VPRecipeBuilder.h | 187 VPValue *getBlockInMask(VPBasicBlock *VPBB) const { in getBlockInMask() argument 188 return BlockMaskCache.lookup(VPBB); in getBlockInMask()
|
| H A D | VPlanSLP.cpp | 57 if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) { in visitBlock() local 58 for (VPRecipeBase &VPI : *VPBB) { in visitBlock()
|
| H A D | VPlanHelpers.h | 398 void assignNames(const VPBasicBlock *VPBB);
|
| H A D | LoopVectorize.cpp | 2413 static void replaceVPBBWithIRVPBB(VPBasicBlock *VPBB, BasicBlock *IRBB) { in replaceVPBBWithIRVPBB() argument 2414 VPIRBasicBlock *IRVPBB = VPBB->getPlan()->createVPIRBasicBlock(IRBB); in replaceVPBBWithIRVPBB() 2415 for (auto &R : make_early_inc_range(*VPBB)) { in replaceVPBBWithIRVPBB() 2421 VPBlockUtils::reassociateBlocks(VPBB, IRVPBB); in replaceVPBBWithIRVPBB() 2702 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs() 2703 for (VPRecipeBase &P : VPBB->phis()) { in fixNonInductionPHIs() 2712 const VPBasicBlock *VPBB = VPPhi->getIncomingBlock(Idx); in fixNonInductionPHIs() local 2713 NewPhi->addIncoming(State.get(Inc), State.CFG.VPBB2IRBB[VPBB]); in fixNonInductionPHIs() 4025 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in emitInvalidCostRemarks() 4026 for (auto &R : *VPBB) { in emitInvalidCostRemarks() [all …]
|
| H A D | VPlan.h | 3941 void setEntry(VPBasicBlock *VPBB) { 3942 Entry = VPBB; 3943 VPBB->setPlan(this); 4015 bool isExitBlock(VPBlockBase *VPBB);
|
| H A D | VPlanRecipes.cpp | 540 static BranchInst *createCondBranch(Value *Cond, VPBasicBlock *VPBB, in createCondBranch() argument 546 VPBasicBlock *SecondVPSucc = cast<VPBasicBlock>(VPBB->getSuccessors()[1]); in createCondBranch() 548 BasicBlock *IRBB = State.CFG.VPBB2IRBB[VPBB]; in createCondBranch()
|