Home
last modified time | relevance | path

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

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DVPlan.h381 class VPBlockBase {
394 SmallVector<VPBlockBase *, 1> Predecessors;
397 SmallVector<VPBlockBase *, 1> Successors;
414 void appendSuccessor(VPBlockBase *Successor) { in appendSuccessor()
420 void appendPredecessor(VPBlockBase *Predecessor) { in appendPredecessor()
426 void removePredecessor(VPBlockBase *Predecessor) { in removePredecessor()
433 void removeSuccessor(VPBlockBase *Successor) { in removeSuccessor()
440 VPBlockBase(const unsigned char SC, const std::string &N) in VPBlockBase() function
450 using VPBlocksTy = SmallVectorImpl<VPBlockBase *>;
452 virtual ~VPBlockBase() = default;
[all …]
H A DVPlanVerifier.cpp31 static bool hasDuplicates(const SmallVectorImpl<VPBlockBase *> &VPBlockVec) { in hasDuplicates()
32 SmallDenseSet<const VPBlockBase *, 8> VPBlockSet; in hasDuplicates()
46 for (const VPBlockBase *VPB : in verifyBlocksInRegion()
47 make_range(df_iterator<const VPBlockBase *>::begin(Region->getEntry()), in verifyBlocksInRegion()
48 df_iterator<const VPBlockBase *>::end(Region->getExit()))) { in verifyBlocksInRegion()
65 for (const VPBlockBase *Succ : Successors) { in verifyBlocksInRegion()
80 for (const VPBlockBase *Pred : Predecessors) { in verifyBlocksInRegion()
96 const VPBlockBase *Entry = Region->getEntry(); in verifyRegion()
97 const VPBlockBase *Exit = Region->getExit(); in verifyRegion()
114 for (const VPBlockBase *VPB : in verifyRegionRec()
[all …]
H A DVPlan.cpp135 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } in getPlan()
137 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } in getPlan()
140 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock()
141 const VPBlockBase *Block = this; in getEntryBasicBlock()
147 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock()
148 VPBlockBase *Block = this; in getEntryBasicBlock()
154 void VPBlockBase::setPlan(VPlan *ParentPlan) { in setPlan()
161 const VPBasicBlock *VPBlockBase::getExitBasicBlock() const { in getExitBasicBlock()
162 const VPBlockBase *Block = this; in getExitBasicBlock()
168 VPBasicBlock *VPBlockBase::getExitBasicBlock() { in getExitBasicBlock()
[all …]
H A DVPlanLoopInfo.h23 class VPBlockBase; variable
27 class VPLoop : public LoopBase<VPBlockBase, VPLoop> {
29 friend class LoopInfoBase<VPBlockBase, VPLoop>;
30 explicit VPLoop(VPBlockBase *VPB) : LoopBase<VPBlockBase, VPLoop>(VPB) {} in VPLoop()
40 typedef LoopInfoBase<VPBlockBase, VPLoop> VPLoopInfo;
H A DVPlanPredicator.cpp117 VPlanPredicator::getEdgeTypeBetween(VPBlockBase *FromBlock, in getEdgeTypeBetween()
118 VPBlockBase *ToBlock) { in getEdgeTypeBetween()
120 for (VPBlockBase *SuccBlock : FromBlock->getSuccessors()) { in getEdgeTypeBetween()
133 void VPlanPredicator::createOrPropagatePredicates(VPBlockBase *CurrBlock, in createOrPropagatePredicates()
154 for (VPBlockBase *PredBlock : CurrBlock->getPredecessors()) { in createOrPropagatePredicates()
189 ReversePostOrderTraversal<VPBlockBase *> RPOT(EntryBlock); in predicateRegionRec()
194 for (VPBlockBase *Block : RPOT) { in predicateRegionRec()
208 ReversePostOrderTraversal<VPBlockBase *> RPOT(Region->getEntry()); in linearizeRegionRec()
209 VPBlockBase *PrevBlock = nullptr; in linearizeRegionRec()
211 for (VPBlockBase *CurrBlock : RPOT) { in linearizeRegionRec()
H A DVPlanPredicator.h46 EdgeType getEdgeTypeBetween(VPBlockBase *FromBlock, VPBlockBase *ToBlock);
58 void createOrPropagatePredicates(VPBlockBase *CurrBlock,
H A DVPlanDominatorTree.h26 using VPDominatorTree = DomTreeBase<VPBlockBase>;
28 using VPDomTreeNode = DomTreeNodeBase<VPBlockBase>;
H A DVPlanTransforms.cpp25 ReversePostOrderTraversal<VPBlockBase *> RPOT(TopRegion->getEntry()); in VPInstructionsToVPRecipes()
27 for (VPBlockBase *Base : RPOT) { in VPInstructionsToVPRecipes()
H A DVPlanHCFGBuilder.cpp84 SmallVector<VPBlockBase *, 8> VPBBPreds; in setVPBBPredsFromBB()
266 VPBlockBase *HeaderVPBB = getOrCreateVPBB(TheLoop->getHeader()); in buildPlainCFG()
H A DLoopVectorize.cpp8866 VPBlockBase *Region = createReplicateRegion(I, Recipe, Plan); in handleReplication()
9137 VPBlockBase *Entry = Plan->setEntry(PreEntry->getSingleSuccessor()); in buildVPlanWithVPRecipes()
/netbsd-src/external/apache2/llvm/dist/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