Home
last modified time | relevance | path

Searched refs:VPBasicBlock (Results 1 – 12 of 12) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.cpp52 DenseMap<BasicBlock *, VPBasicBlock *> BB2VPBB;
63 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
66 VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
71 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
84 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB()
98 assert(VPBB == cast<VPBasicBlock>(PredRegion->getSingleSuccessor()) && in setVPBBPredsFromBB()
155 static bool isHeaderVPBB(VPBasicBlock *VPBB) { in isHeaderVPBB()
176 VPBasicBlock *PlainCFGBuilder::getOrCreateVPBB(BasicBlock *BB) { in getOrCreateVPBB()
185 VPBasicBlock *VPBB = new VPBasicBlock(Name); in getOrCreateVPBB()
283 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB, in createVPInstructionsForVPBB()
[all …]
H A DLoopVectorizationPlanner.h46 VPBasicBlock *BB = nullptr;
47 VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
70 VPBuilder(VPBasicBlock *InsertBB) { setInsertPoint(InsertBB); } in VPBuilder()
77 InsertPt = VPBasicBlock::iterator(); in clearInsertionPoint()
80 VPBasicBlock *getInsertBlock() const { return BB; } in getInsertBlock()
81 VPBasicBlock::iterator getInsertPoint() const { return InsertPt; } in getInsertPoint()
92 VPBasicBlock *Block = nullptr;
93 VPBasicBlock::iterator Point;
100 VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint) in VPInsertPoint()
106 VPBasicBlock *getBlock() const { return Block; } in getBlock()
[all …]
H A DVPlan.cpp155 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock()
159 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
162 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock()
166 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
177 const VPBasicBlock *VPBlockBase::getExitingBasicBlock() const { in getExitingBasicBlock()
181 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
184 VPBasicBlock *VPBlockBase::getExitingBasicBlock() { in getExitingBasicBlock()
188 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
212 VPBasicBlock::iterator VPBasicBlock::getFirstNonPhi() { in getFirstNonPhi()
276 BasicBlock *LoopVectorPreHeader = CFG.VPBB2IRBB[cast<VPBasicBlock>( in get()
[all …]
H A DVPlanTransforms.cpp38 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in VPInstructionsToVPRecipes()
109 SetVector<std::pair<VPBasicBlock *, VPSingleDefRecipe *>> WorkList; in sinkScalarOperands()
111 VPBasicBlock *EntryVPBB = VPR->getEntryBasicBlock(); in sinkScalarOperands()
114 VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(EntryVPBB->getSuccessors()[0]); in sinkScalarOperands()
128 VPBasicBlock *SinkTo; in sinkScalarOperands()
185 auto *EntryBB = dyn_cast<VPBasicBlock>(R->getEntry()); in getPredicatedMask()
194 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
195 auto *EntryBB = cast<VPBasicBlock>(R->getEntry()); in getPredicatedThenBlock()
199 auto *Succ0 = dyn_cast<VPBasicBlock>(EntryBB->getSuccessors()[0]); in getPredicatedThenBlock()
200 auto *Succ1 = dyn_cast<VPBasicBlock>(EntryBB->getSuccessors()[1]); in getPredicatedThenBlock()
[all …]
H A DVPlanVerifier.cpp36 bool verifyPhiRecipes(const VPBasicBlock *VPBB);
38 bool verifyVPBasicBlock(const VPBasicBlock *VPBB);
63 bool VPlanVerifier::verifyPhiRecipes(const VPBasicBlock *VPBB) { in verifyPhiRecipes()
117 bool VPlanVerifier::verifyVPBasicBlock(const VPBasicBlock *VPBB) { in verifyVPBasicBlock()
188 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in verifyBlock()
305 const VPBasicBlock *Entry = dyn_cast<VPBasicBlock>(TopRegion->getEntry()); in verify()
317 const VPBasicBlock *Exiting = dyn_cast<VPBasicBlock>(TopRegion->getExiting()); in verify()
H A DVPlan.h62 class VPBasicBlock; variable
380 VPBasicBlock *PrevVPBB = nullptr;
392 SmallDenseMap<VPBasicBlock *, BasicBlock *> VPBB2IRBB;
525 const VPBasicBlock *getEntryBasicBlock() const;
526 VPBasicBlock *getEntryBasicBlock();
531 const VPBasicBlock *getExitingBasicBlock() const;
532 VPBasicBlock *getExitingBasicBlock();
762 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock>,
765 friend VPBasicBlock; variable
769 VPBasicBlock *Parent = nullptr;
[all …]
H A DVPRecipeBuilder.h103 VPBasicBlock *VPBB);
117 VFRange &Range, VPBasicBlock *VPBB);
H A DVPlanValue.h49 friend class VPBasicBlock; variable
441 class VPBasicBlock; variable
461 void assignNames(const VPBasicBlock *VPBB);
H A DVPlanAnalysis.cpp291 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in collectEphemeralRecipesForVPlan()
H A DLoopVectorize.cpp2966 VPBasicBlock *LatchVPBB = VectorRegion->getExitingBasicBlock(); in fixVectorizedLoop()
3094 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs()
3104 VPBasicBlock *VPBB = VPPhi->getIncomingBlock(i); in fixNonInductionPHIs()
4427 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in willGenerateVectors()
7359 cast<VPBasicBlock>(BestVPlan.getVectorLoopRegion()->getSingleSuccessor()); in executePlan()
7375 VPBasicBlock *HeaderVPBB = in executePlan()
7820 VPBasicBlock *HeaderVPBB = Plan.getVectorLoopRegion()->getEntryBasicBlock(); in createHeaderMask()
8132 VPBasicBlock *VPBB) { in tryToWiden()
8251 VFRange &Range, VPBasicBlock *VPBB) { in tryToCreateWidenRecipe()
8357 VPBasicBlock *Header = TopRegion->getEntryBasicBlock(); in addCanonicalIVRecipes()
[all …]
H A DVPlanRecipes.cpp200 VPBasicBlock *MiddleVPBB = in fixPhi()
201 cast<VPBasicBlock>(Plan.getVectorLoopRegion()->getSingleSuccessor()); in fixPhi()
237 void VPRecipeBase::insertBefore(VPBasicBlock &BB, in insertBefore()
267 void VPRecipeBase::moveBefore(VPBasicBlock &BB, in moveBefore()
517 VPBasicBlock *Header = ParentRegion->getEntryBasicBlock(); in generatePerPart()
532 VPBasicBlock *Header = TopRegion->getEntry()->getEntryBasicBlock(); in generatePerPart()
667 .VPBB2IRBB[cast<VPBasicBlock>(getParent()->getSinglePredecessor())]; in generatePerPart()
H A DVPlanSLP.cpp115 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()