Home
last modified time | relevance | path

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

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.cpp52 DenseMap<BasicBlock *, VPBasicBlock *> BB2VPBB;
63 void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
65 VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
70 void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
78 VPBasicBlock *buildPlainCFG();
84 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) { in setVPBBPredsFromBB()
114 VPBasicBlock *PlainCFGBuilder::getOrCreateVPBB(BasicBlock *BB) { in getOrCreateVPBB()
133 VPBasicBlock *VPBB = new VPBasicBlock(BB->getName()); in getOrCreateVPBB()
207 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB, in createVPInstructionsForVPBB()
257 VPBasicBlock *PlainCFGBuilder::buildPlainCFG() { in buildPlainCFG()
[all …]
H A DVPlanTransforms.cpp33 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in VPInstructionsToVPRecipes()
114 SetVector<std::pair<VPBasicBlock *, VPRecipeBase *>> WorkList; in sinkScalarOperands()
116 VPBasicBlock *EntryVPBB = VPR->getEntryBasicBlock(); in sinkScalarOperands()
119 VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(EntryVPBB->getSuccessors()[0]); in sinkScalarOperands()
132 VPBasicBlock *SinkTo; in sinkScalarOperands()
199 auto *EntryBB = dyn_cast<VPBasicBlock>(R->getEntry()); in getPredicatedMask()
208 static VPBasicBlock *getPredicatedThenBlock(VPRegionBlock *R) { in getPredicatedThenBlock()
209 auto *EntryBB = cast<VPBasicBlock>(R->getEntry()); in getPredicatedThenBlock()
213 auto *Succ0 = dyn_cast<VPBasicBlock>(EntryBB->getSuccessors()[0]); in getPredicatedThenBlock()
214 auto *Succ1 = dyn_cast<VPBasicBlock>(EntryBB->getSuccessors()[1]); in getPredicatedThenBlock()
[all …]
H A DLoopVectorizationPlanner.h44 VPBasicBlock *BB = nullptr;
45 VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
69 InsertPt = VPBasicBlock::iterator(); in clearInsertionPoint()
72 VPBasicBlock *getInsertBlock() const { return BB; } in getInsertBlock()
73 VPBasicBlock::iterator getInsertPoint() const { return InsertPt; } in getInsertPoint()
77 VPBasicBlock *Block = nullptr;
78 VPBasicBlock::iterator Point;
85 VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint) in VPInsertPoint()
91 VPBasicBlock *getBlock() const { return Block; } in getBlock()
92 VPBasicBlock::iterator getPoint() const { return Point; } in getPoint()
[all …]
H A DVPlan.cpp148 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock()
152 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
155 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock()
159 return cast<VPBasicBlock>(Block); in getEntryBasicBlock()
169 const VPBasicBlock *VPBlockBase::getExitingBasicBlock() const { in getExitingBasicBlock()
173 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
176 VPBasicBlock *VPBlockBase::getExitingBasicBlock() { in getExitingBasicBlock()
180 return cast<VPBasicBlock>(Block); in getExitingBasicBlock()
204 VPBasicBlock::iterator VPBasicBlock::getFirstNonPhi() { in getFirstNonPhi()
282 VPBasicBlock::createEmptyBasicBlock(VPTransformState::CFGState &CFG) { in createEmptyBasicBlock()
[all …]
H A DVPlanVerifier.cpp51 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in verifyBlocksInRegion()
138 static bool verifyPhiRecipes(const VPBasicBlock *VPBB) { in verifyPhiRecipes()
193 verifyVPBasicBlock(const VPBasicBlock *VPBB, in verifyVPBasicBlock()
258 auto *VPBB = dyn_cast<VPBasicBlock>(VPB); in verifyPlanIsValid()
266 const VPBasicBlock *Entry = dyn_cast<VPBasicBlock>(TopRegion->getEntry()); in verifyPlanIsValid()
278 const VPBasicBlock *Exiting = dyn_cast<VPBasicBlock>(TopRegion->getExiting()); in verifyPlanIsValid()
H A DVPRecipeBuilder.h104 VPBasicBlock *VPBB, VPlanPtr &Plan);
123 VFRange &Range, VPBasicBlock *VPBB,
172 VPBasicBlock *handleReplication(
173 Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
H A DVPlan.h59 class VPBasicBlock; variable
332 VPBasicBlock *PrevVPBB = nullptr;
344 SmallDenseMap<VPBasicBlock *, BasicBlock *> VPBB2IRBB;
478 const VPBasicBlock *getEntryBasicBlock() const;
479 VPBasicBlock *getEntryBasicBlock();
484 const VPBasicBlock *getExitingBasicBlock() const;
485 VPBasicBlock *getExitingBasicBlock();
664 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock>,
667 friend VPBasicBlock; variable
671 VPBasicBlock *Parent = nullptr;
[all …]
H A DVPlanHCFGBuilder.h62 VPBasicBlock *buildPlainCFG();
H A DVPlanValue.h49 friend class VPBasicBlock; variable
426 class VPBasicBlock; variable
H A DLoopVectorize.cpp1082 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in collectPoisonGeneratingRecipes()
3678 VPBasicBlock *LatchVPBB = Plan.getVectorLoopRegion()->getExitingBasicBlock(); in fixVectorizedLoop()
3735 VPBasicBlock *Header = in fixCrossIterationPHIs()
3888 VPBasicBlock *LatchVPBB = in fixReduction()
4166 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs()
4176 VPBasicBlock *VPBB = VPPhi->getIncomingBlock(i); in fixNonInductionPHIs()
7700 VPBasicBlock *HeaderVPBB = in executePlan()
8115 VPBasicBlock *HeaderVPBB = in createBlockInMask()
8401 VPBasicBlock *VPBB, VPlanPtr &Plan) { in tryToWiden()
8470 VPBasicBlock *VPRecipeBuilder::handleReplication( in handleReplication()
[all …]
H A DVPlanRecipes.cpp154 void VPRecipeBase::insertBefore(VPBasicBlock &BB, in insertBefore()
186 void VPRecipeBase::moveBefore(VPBasicBlock &BB, in moveBefore()
308 VPBasicBlock *Header = ParentRegion->getEntryBasicBlock(); in generateInstruction()
334 VPBasicBlock *Header = TopRegion->getEntry()->getEntryBasicBlock(); in generateInstruction()
1260 VPBasicBlock *Parent = getParent(); in execute()
H A DVPlanSLP.cpp115 VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent(); in areVectorizable()
/openbsd-src/gnu/llvm/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