Home
last modified time | relevance | path

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

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationPlanner.h44 VPBasicBlock *BB = nullptr;
45 VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
67 InsertPt = VPBasicBlock::iterator(); in clearInsertionPoint()
70 VPBasicBlock *getInsertBlock() const { return BB; } in getInsertBlock()
71 VPBasicBlock::iterator getInsertPoint() const { return InsertPt; } in getInsertPoint()
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()
90 VPBasicBlock::iterator getPoint() const { return Point; } in getPoint()
[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);
83 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB()
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()
[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.cpp140 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock()
144 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
147 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock()
151 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
161 const VPBasicBlock *VPBlockBase::getExitBasicBlock() const { in getExitBasicBlock()
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()
250 VPBasicBlock::createEmptyBasicBlock(VPTransformState::CFGState &CFG) { in createEmptyBasicBlock()
[all …]
H A DVPlan.h59 class VPBasicBlock; variable
299 VPBasicBlock *PrevVPBB = nullptr;
311 SmallDenseMap<VPBasicBlock *, BasicBlock *> VPBB2IRBB;
315 SmallVector<VPBasicBlock *, 8> VPBBsToFix;
479 const VPBasicBlock *getEntryBasicBlock() const;
480 VPBasicBlock *getEntryBasicBlock();
485 const VPBasicBlock *getExitBasicBlock() const;
486 VPBasicBlock *getExitBasicBlock();
653 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock>,
656 friend VPBasicBlock; variable
[all …]
H A DVPlanPredicator.h50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
H A DVPRecipeBuilder.h169 VPBasicBlock *handleReplication(
170 Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
H A DVPlanValue.h49 friend class VPBasicBlock; variable
394 class VPBasicBlock; variable
H A DVPlanTransforms.cpp32 VPBasicBlock *VPBB = Base->getEntryBasicBlock(); in VPInstructionsToVPRecipes()
H A DLoopVectorize.cpp4118 VPBasicBlock *Header = State.Plan->getEntry()->getEntryBasicBlock(); in fixCrossIterationPHIs()
4637 VPBasicBlock *VPBB = VPPhi->getIncomingBlock(i); in fixNonInductionPHIs()
8827 VPBasicBlock *VPRecipeBuilder::handleReplication( in handleReplication()
8828 Instruction *I, VFRange &Range, VPBasicBlock *VPBB, in handleReplication()
8868 auto *RegSucc = new VPBasicBlock(); in handleReplication()
8886 auto *Entry = new VPBasicBlock(Twine(RegionName) + ".entry", BOMRecipe); in createReplicateRegion()
8894 auto *Exit = new VPBasicBlock(Twine(RegionName) + ".continue", PHIRecipe); in createReplicateRegion()
8895 auto *Pred = new VPBasicBlock(Twine(RegionName) + ".if", PredRecipe); in createReplicateRegion()
9058 VPBasicBlock *VPBB = new VPBasicBlock("Pre-Entry"); in buildVPlanWithVPRecipes()
9070 auto *FirstVPBBForBB = new VPBasicBlock(BB->getName()); in buildVPlanWithVPRecipes()
[all …]
H A DVPlanSLP.cpp123 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
/netbsd-src/external/apache2/llvm/dist/llvm/docs/Proposals/
H A DVectorizationPlan.rst117 VPBasicBlock and VPRegionBlock, see below. VPBlockBase models the hierarchical
123 :VPBasicBlock:
124 VPBasicBlock is a subclass of VPBlockBase, and serves as the leaves of the
127 basic-block originate from one or more VPBasicBlocks. VPBasicBlock holds a