Home
last modified time | relevance | path

Searched refs:VPBB (Results 1 – 8 of 8) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanVerifier.cpp36 bool verifyPhiRecipes(const VPBasicBlock *VPBB);
38 bool verifyVPBasicBlock(const VPBasicBlock *VPBB);
63 bool VPlanVerifier::verifyPhiRecipes(const VPBasicBlock *VPBB) { in verifyPhiRecipes() argument
64 auto RecipeI = VPBB->begin(); in verifyPhiRecipes()
65 auto End = VPBB->end(); in verifyPhiRecipes()
67 const VPRegionBlock *ParentR = VPBB->getParent(); in verifyPhiRecipes()
69 ParentR->getEntryBasicBlock() == VPBB; in verifyPhiRecipes()
117 bool VPlanVerifier::verifyVPBasicBlock(const VPBasicBlock *VPBB) { in verifyVPBasicBlock() argument
118 if (!verifyPhiRecipes(VPBB)) in verifyVPBasicBlock()
125 for (const VPRecipeBase &R : *VPBB) in verifyVPBasicBlock()
[all …]
H A DVPlanHCFGBuilder.cpp63 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
64 void setRegionPredsFromBB(VPRegionBlock *VPBB, BasicBlock *BB);
71 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
84 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB() argument
98 assert(VPBB == cast<VPBasicBlock>(PredRegion->getSingleSuccessor()) && in setVPBBPredsFromBB()
101 VPBB->setPredecessors({PredRegion}); in setVPBBPredsFromBB()
108 VPBB->setPredecessors(VPBBPreds); in setVPBBPredsFromBB()
155 static bool isHeaderVPBB(VPBasicBlock *VPBB) { in isHeaderVPBB() argument
156 return VPBB->getParent() && VPBB->getParent()->getEntry() == VPBB; in isHeaderVPBB()
177 if (auto *VPBB = BB2VPBB.lookup(BB)) { in getOrCreateVPBB() local
[all …]
H A DVPlanTransforms.cpp38 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in VPInstructionsToVPRecipes()
40 if (!VPBB->getParent()) in VPInstructionsToVPRecipes()
42 VPRecipeBase *Term = VPBB->getTerminator(); in VPInstructionsToVPRecipes()
43 auto EndIter = Term ? Term->getIterator() : VPBB->end(); in VPInstructionsToVPRecipes()
46 make_early_inc_range(make_range(VPBB->begin(), EndIter))) { in VPInstructionsToVPRecipes()
114 VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(EntryVPBB->getSuccessors()[0]); in sinkScalarOperands() local
115 if (!VPBB || VPBB->getSingleSuccessor() != VPR->getExitingBasicBlock()) in sinkScalarOperands()
117 for (auto &Recipe : *VPBB) { in sinkScalarOperands()
121 WorkList.insert(std::make_pair(VPBB, Def)); in sinkScalarOperands()
341 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in addReplicateRegions()
[all …]
H A DVPlan.cpp585 static bool hasConditionalTerminator(const VPBasicBlock *VPBB) { in hasConditionalTerminator() argument
586 if (VPBB->empty()) { in hasConditionalTerminator()
588 VPBB->getNumSuccessors() < 2 && in hasConditionalTerminator()
593 const VPRecipeBase *R = &VPBB->back(); in hasConditionalTerminator()
599 if (VPBB->getNumSuccessors() >= 2 || in hasConditionalTerminator()
600 (VPBB->isExiting() && !VPBB->getParent()->isReplicator())) { in hasConditionalTerminator()
959 static void replaceVPBBWithIRVPBB(VPBasicBlock *VPBB, BasicBlock *IRBB) { in replaceVPBBWithIRVPBB() argument
961 for (auto &R : make_early_inc_range(*VPBB)) in replaceVPBBWithIRVPBB()
963 VPBlockBase *PredVPBB = VPBB->getSinglePredecessor(); in replaceVPBBWithIRVPBB()
964 VPBlockUtils::disconnectBlocks(PredVPBB, VPBB); in replaceVPBBWithIRVPBB()
[all …]
H A DVPRecipeBuilder.h103 VPBasicBlock *VPBB);
117 VFRange &Range, VPBasicBlock *VPBB);
H A DVPlanAnalysis.cpp291 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in collectEphemeralRecipesForVPlan()
293 for (VPRecipeBase &R : *VPBB) { in collectEphemeralRecipesForVPlan()
H A DLoopVectorize.cpp3094 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs()
3095 for (VPRecipeBase &P : VPBB->phis()) { in fixNonInductionPHIs()
3104 VPBasicBlock *VPBB = VPPhi->getIncomingBlock(i); in fixNonInductionPHIs() local
3105 NewPhi->addIncoming(State.get(Inc, 0), State.CFG.VPBB2IRBB[VPBB]); in fixNonInductionPHIs()
4427 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in willGenerateVectors()
4429 for (VPRecipeBase &R : *VPBB) { in willGenerateVectors()
8132 VPBasicBlock *VPBB) { in tryToWiden() argument
8251 VFRange &Range, VPBasicBlock *VPBB) { in tryToCreateWidenRecipe() argument
8319 return tryToWiden(Instr, Operands, VPBB); in tryToCreateWidenRecipe()
8532 VPBasicBlock *VPBB = HeaderVPBB; in tryToBuildVPlanWithVPRecipes() local
[all …]
H A DVPlanValue.h461 void assignNames(const VPBasicBlock *VPBB);