Home
last modified time | relevance | path

Searched refs:VPBlockBase (Results 1 – 9 of 9) sorted by relevance

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DVPlanCFG.h36 VPBlockBase> {
92 const VPBlockBase *operator*() const { return deref(Block, SuccessorIdx); }
127 template <> struct GraphTraits<VPBlockDeepTraversalWrapper<VPBlockBase *>> {
128 using NodeRef = VPBlockBase *;
129 using ChildIteratorType = VPAllSuccessorsIterator<VPBlockBase *>;
131 static NodeRef getEntryNode(VPBlockDeepTraversalWrapper<VPBlockBase *> N) {
145 struct GraphTraits<VPBlockDeepTraversalWrapper<const VPBlockBase *>> {
146 using NodeRef = const VPBlockBase *;
147 using ChildIteratorType = VPAllSuccessorsIterator<const VPBlockBase *>;
150 getEntryNode(VPBlockDeepTraversalWrapper<const VPBlockBase *> N) {
[all …]
H A DVPlan.cpp143 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } in getPlan()
145 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } in getPlan()
148 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock()
149 const VPBlockBase *Block = this; in getEntryBasicBlock()
155 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock()
156 VPBlockBase *Block = this; in getEntryBasicBlock()
162 void VPBlockBase::setPlan(VPlan *ParentPlan) { in setPlan()
169 const VPBasicBlock *VPBlockBase::getExitingBasicBlock() const { in getExitingBasicBlock()
170 const VPBlockBase *Block = this; in getExitingBasicBlock()
176 VPBasicBlock *VPBlockBase::getExitingBasicBlock() { in getExitingBasicBlock()
[all …]
H A DVPlanVerifier.cpp32 static bool hasDuplicates(const SmallVectorImpl<VPBlockBase *> &VPBlockVec) { in hasDuplicates()
33 SmallDenseSet<const VPBlockBase *, 8> VPBlockSet; in hasDuplicates()
47 for (const VPBlockBase *VPB : vp_depth_first_shallow(Region->getEntry())) { in verifyBlocksInRegion()
67 for (const VPBlockBase *Succ : Successors) { in verifyBlocksInRegion()
82 for (const VPBlockBase *Pred : Predecessors) { in verifyBlocksInRegion()
98 const VPBlockBase *Entry = Region->getEntry(); in verifyRegion()
99 const VPBlockBase *Exiting = Region->getExiting(); in verifyRegion()
117 for (const VPBlockBase *VPB : make_range( in verifyRegionRec()
118 df_iterator<const VPBlockBase *>::begin(Region->getEntry()), in verifyRegionRec()
119 df_iterator<const VPBlockBase *>::end(Region->getExiting()))) { in verifyRegionRec()
[all …]
H A DVPlan.h390 class VPBlockBase {
403 SmallVector<VPBlockBase *, 1> Predecessors;
406 SmallVector<VPBlockBase *, 1> Successors;
413 void appendSuccessor(VPBlockBase *Successor) { in appendSuccessor()
419 void appendPredecessor(VPBlockBase *Predecessor) { in appendPredecessor()
425 void removePredecessor(VPBlockBase *Predecessor) { in removePredecessor()
432 void removeSuccessor(VPBlockBase *Successor) { in removeSuccessor()
439 VPBlockBase(const unsigned char SC, const std::string &N) in VPBlockBase() function
449 using VPBlocksTy = SmallVectorImpl<VPBlockBase *>;
451 virtual ~VPBlockBase() = default;
[all …]
H A DVPlanDominatorTree.h26 template <> struct DomTreeNodeTraits<VPBlockBase> {
27 using NodeType = VPBlockBase;
28 using NodePtr = VPBlockBase *;
38 using VPDominatorTree = DomTreeBase<VPBlockBase>;
40 using VPDomTreeNode = DomTreeNodeBase<VPBlockBase>;
H A DVPlanHCFGBuilder.cpp85 SmallVector<VPBlockBase *, 8> VPBBPreds; in setVPBBPredsFromBB()
278 VPBlockBase *HeaderVPBB = getOrCreateVPBB(TheLoop->getHeader()); in buildPlainCFG()
H A DVPlanTransforms.cpp31 ReversePostOrderTraversal<VPBlockDeepTraversalWrapper<VPBlockBase *>> RPOT( in VPInstructionsToVPRecipes()
302 for (VPBlockBase *Pred : make_early_inc_range(Region1->getPredecessors())) { in mergeReplicateRegionsIntoSuccessors()
408 ReversePostOrderTraversal<VPBlockDeepTraversalWrapper<VPBlockBase *>> RPOT( in removeDeadRecipes()
H A DLoopVectorize.cpp8538 VPBlockBase *SingleSucc = VPBB->getSingleSuccessor(); in handleReplication()
8543 VPBlockBase *Region = createReplicateRegion(Recipe, Plan); in handleReplication()
/openbsd-src/gnu/llvm/llvm/docs/Proposals/
H A DVectorizationPlan.rst115 :VPBlockBase:
117 VPBasicBlock and VPRegionBlock, see below. VPBlockBase models the hierarchical
119 BasicBlock, a VPBlockBase models its control-flow successors and predecessors
121 branches that "use" the VPBlockBase.
124 VPBasicBlock is a subclass of VPBlockBase, and serves as the leaves of the
132 VPRegionBlock is a subclass of VPBlockBase. It models a collection of