Home
last modified time | relevance | path

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

/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationPlanner.h44 VPBasicBlock *BB = nullptr;
45 VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
67 InsertPt = VPBasicBlock::iterator(); in clearInsertionPoint()
75 VPBasicBlock *Block = nullptr;
76 VPBasicBlock::iterator Point;
83 VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint) in VPInsertPoint()
89 VPBasicBlock *getBlock() const { return Block; } in getBlock()
103 void setInsertPoint(VPBasicBlock *TheBB) { in setInsertPoint()
111 void setInsertPoint(VPBasicBlock *TheBB, VPBasicBlock::iterator IP) { in setInsertPoint()
160 VPBasicBlock *Block;
[all …]
H A DVPlanHCFGBuilder.cpp55 DenseMap<BasicBlock *, VPBasicBlock *> BB2VPBB;
63 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
65 VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
70 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
111 VPBasicBlock *PlainCFGBuilder::getOrCreateVPBB(BasicBlock *BB) { in getOrCreateVPBB()
119 VPBasicBlock *VPBB = new VPBasicBlock(BB->getName()); in getOrCreateVPBB()
194 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB, in createVPInstructionsForVPBB()
257 VPBasicBlock *PreheaderVPBB = getOrCreateVPBB(PreheaderBB); in buildPlainCFG()
276 VPBasicBlock *VPBB = getOrCreateVPBB(BB); in buildPlainCFG()
287 VPBasicBlock *SuccVPBB = getOrCreateVPBB(TI->getSuccessor(0)); in buildPlainCFG()
[all …]
H A DVPlanTransforms.cpp32 VPBasicBlock *VPBB = Base->getEntryBasicBlock(); in VPInstructionsToVPRecipes()
110 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in sinkScalarOperands()
132 VPBasicBlock *SinkTo = FirstUser->getParent(); in sinkScalarOperands()
155 auto *EntryBB = dyn_cast<VPBasicBlock>(R->getEntry()); in getPredicatedMask()
164 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
165 auto *EntryBB = cast<VPBasicBlock>(R->getEntry()); in getPredicatedThenBlock()
169 auto *Succ0 = dyn_cast<VPBasicBlock>(EntryBB->getSuccessors()[0]); in getPredicatedThenBlock()
213 VPBasicBlock *Then1 = getPredicatedThenBlock(Region1); in mergeReplicateRegions()
214 VPBasicBlock *Then2 = getPredicatedThenBlock(Region2); in mergeReplicateRegions()
228 auto *Merge1 = cast<VPBasicBlock>(Then1->getSingleSuccessor()); in mergeReplicateRegions()
[all …]
H A DVPlanPredicator.cpp37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, in getOrCreateNotPredicate()
38 VPBasicBlock *CurrBB) { in getOrCreateNotPredicate()
147 VPBasicBlock *CurrBB = cast<VPBasicBlock>(CurrBlock->getEntryBasicBlock()); in createOrPropagatePredicates()
169 assert(isa<VPBasicBlock>(PredBlock) && "Only BBs have multiple exits"); in createOrPropagatePredicates()
171 getOrCreateNotPredicate(cast<VPBasicBlock>(PredBlock), CurrBB); in createOrPropagatePredicates()
188 VPBasicBlock *EntryBlock = cast<VPBasicBlock>(Region->getEntry()); in predicateRegionRec()
H A DVPlan.cpp144 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
151 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
165 return cast<VPBasicBlock>(Block); in getExitBasicBlock()
168 VPBasicBlock *VPBlockBase::getExitBasicBlock() { in getExitBasicBlock()
172 return cast<VPBasicBlock>(Block); in getExitBasicBlock()
220 VPBasicBlock::iterator VPBasicBlock::getFirstNonPhi() { in getFirstNonPhi()
299 VPBasicBlock *PrevVPBB = State->CFG.PrevVPBB; in execute()
373 VPBasicBlock *VPBasicBlock::splitAt(iterator SplitAt) { in splitAt()
959 if (const VPBasicBlock *BasicBlock = dyn_cast<VPBasicBlock>(Block)) in dumpBlock()
1409 if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) { in visitBlock()
[all …]
H A DVPlanPredicator.h50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
H A DVPlan.h59 class VPBasicBlock; variable
299 VPBasicBlock *PrevVPBB = nullptr;
487 VPBasicBlock *getEntryBasicBlock();
493 VPBasicBlock *getExitBasicBlock();
667 friend VPBasicBlock; variable
671 VPBasicBlock *Parent = nullptr;
1600 class VPBasicBlock : public VPBlockBase {
1615 ~VPBasicBlock() override { in ~VPBasicBlock()
1651 return &VPBasicBlock::Recipes; in getSublistAccess()
1687 VPBasicBlock *splitAt(iterator SplitAt);
[all …]
H A DVPRecipeBuilder.h170 VPBasicBlock *handleReplication(
171 Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
H A DVPlanValue.h49 friend class VPBasicBlock; variable
405 class VPBasicBlock; variable
H A DVPlanSLP.cpp123 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
H A DLoopVectorize.cpp4165 VPBasicBlock *Header = State.Plan->getEntry()->getEntryBasicBlock(); in fixCrossIterationPHIs()
4615 VPBasicBlock *VPBB = VPPhi->getIncomingBlock(i); in fixNonInductionPHIs()
8924 VPBasicBlock *VPRecipeBuilder::handleReplication( in handleReplication()
8925 Instruction *I, VFRange &Range, VPBasicBlock *VPBB, in handleReplication()
8996 auto *RegSucc = new VPBasicBlock(); in handleReplication()
9216 VPBasicBlock *VPBB = new VPBasicBlock("Pre-Entry"); in buildVPlanWithVPRecipes()
9228 auto *FirstVPBBForBB = new VPBasicBlock(BB->getName()); in buildVPlanWithVPRecipes()
9278 VPBasicBlock *NextVPBB = in buildVPlanWithVPRecipes()
9293 VPBasicBlock *PreEntry = cast<VPBasicBlock>(Plan->getEntry()); in buildVPlanWithVPRecipes()
9328 VPBasicBlock *NextBlock = in buildVPlanWithVPRecipes()
[all …]