/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/ |
D | VPlan.h | 343 class VPBlockBase { 357 SmallVector<VPBlockBase *, 1> Predecessors; 360 SmallVector<VPBlockBase *, 1> Successors; 369 void appendSuccessor(VPBlockBase *Successor) { in appendSuccessor() 375 void appendPredecessor(VPBlockBase *Predecessor) { in appendPredecessor() 381 void removePredecessor(VPBlockBase *Predecessor) { in removePredecessor() 388 void removeSuccessor(VPBlockBase *Successor) { in removeSuccessor() 395 VPBlockBase(const unsigned char SC, const std::string &N) in VPBlockBase() function 405 using VPBlocksTy = SmallVectorImpl<VPBlockBase *>; 407 virtual ~VPBlockBase() = default; [all …]
|
D | VPlanVerifier.cpp | 30 static bool hasDuplicates(const SmallVectorImpl<VPBlockBase *> &VPBlockVec) { in hasDuplicates() 31 SmallDenseSet<const VPBlockBase *, 8> VPBlockSet; in hasDuplicates() 45 for (const VPBlockBase *VPB : in verifyBlocksInRegion() 46 make_range(df_iterator<const VPBlockBase *>::begin(Region->getEntry()), in verifyBlocksInRegion() 47 df_iterator<const VPBlockBase *>::end(Region->getExit()))) { in verifyBlocksInRegion() 64 for (const VPBlockBase *Succ : Successors) { in verifyBlocksInRegion() 81 for (const VPBlockBase *Pred : Predecessors) { in verifyBlocksInRegion() 99 const VPBlockBase *Entry = Region->getEntry(); in verifyRegion() 100 const VPBlockBase *Exit = Region->getExit(); in verifyRegion() 117 for (const VPBlockBase *VPB : in verifyRegionRec() [all …]
|
D | VPlanLoopInfo.h | 23 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;
|
D | VPlan.cpp | 60 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock() 61 const VPBlockBase *Block = this; in getEntryBasicBlock() 67 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock() 68 VPBlockBase *Block = this; in getEntryBasicBlock() 75 const VPBasicBlock *VPBlockBase::getExitBasicBlock() const { in getExitBasicBlock() 76 const VPBlockBase *Block = this; in getExitBasicBlock() 82 VPBasicBlock *VPBlockBase::getExitBasicBlock() { in getExitBasicBlock() 83 VPBlockBase *Block = this; in getExitBasicBlock() 89 VPBlockBase *VPBlockBase::getEnclosingBlockWithSuccessors() { in getEnclosingBlockWithSuccessors() 97 VPBlockBase *VPBlockBase::getEnclosingBlockWithPredecessors() { in getEnclosingBlockWithPredecessors() [all …]
|
D | VPlanPredicator.cpp | 117 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 : make_range(RPOT.begin(), RPOT.end())) { in predicateRegionRec() 208 ReversePostOrderTraversal<VPBlockBase *> RPOT(Region->getEntry()); in linearizeRegionRec() 209 VPBlockBase *PrevBlock = nullptr; in linearizeRegionRec() 211 for (VPBlockBase *CurrBlock : make_range(RPOT.begin(), RPOT.end())) { in linearizeRegionRec()
|
D | VPlanPredicator.h | 46 EdgeType getEdgeTypeBetween(VPBlockBase *FromBlock, VPBlockBase *ToBlock); 58 void createOrPropagatePredicates(VPBlockBase *CurrBlock,
|
D | VPlanTransforms.cpp | 25 ReversePostOrderTraversal<VPBlockBase *> RPOT(TopRegion->getEntry()); in VPInstructionsToVPRecipes() 30 for (VPBlockBase *Base : RPOT) { in VPInstructionsToVPRecipes() 38 for (VPBlockBase *Base : RPOT) { in VPInstructionsToVPRecipes()
|
D | VPlanDominatorTree.h | 26 using VPDominatorTree = DomTreeBase<VPBlockBase>; 28 using VPDomTreeNode = DomTreeNodeBase<VPBlockBase>;
|
D | VPlanHCFGBuilder.cpp | 84 SmallVector<VPBlockBase *, 8> VPBBPreds; in setVPBBPredsFromBB() 258 VPBlockBase *HeaderVPBB = getOrCreateVPBB(TheLoop->getHeader()); in buildPlainCFG()
|
/external/llvm-project/llvm/lib/Transforms/Vectorize/ |
D | VPlanVerifier.cpp | 31 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 …]
|
D | VPlan.h | 374 class VPBlockBase { 387 SmallVector<VPBlockBase *, 1> Predecessors; 390 SmallVector<VPBlockBase *, 1> Successors; 403 void appendSuccessor(VPBlockBase *Successor) { in appendSuccessor() 409 void appendPredecessor(VPBlockBase *Predecessor) { in appendPredecessor() 415 void removePredecessor(VPBlockBase *Predecessor) { in removePredecessor() 422 void removeSuccessor(VPBlockBase *Successor) { in removeSuccessor() 429 VPBlockBase(const unsigned char SC, const std::string &N) in VPBlockBase() function 439 using VPBlocksTy = SmallVectorImpl<VPBlockBase *>; 441 virtual ~VPBlockBase() = default; [all …]
|
D | VPlanLoopInfo.h | 23 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;
|
D | VPlan.cpp | 183 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } in getPlan() 185 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } in getPlan() 188 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const { in getEntryBasicBlock() 189 const VPBlockBase *Block = this; in getEntryBasicBlock() 195 VPBasicBlock *VPBlockBase::getEntryBasicBlock() { in getEntryBasicBlock() 196 VPBlockBase *Block = this; in getEntryBasicBlock() 202 void VPBlockBase::setPlan(VPlan *ParentPlan) { in setPlan() 209 const VPBasicBlock *VPBlockBase::getExitBasicBlock() const { in getExitBasicBlock() 210 const VPBlockBase *Block = this; in getExitBasicBlock() 216 VPBasicBlock *VPBlockBase::getExitBasicBlock() { in getExitBasicBlock() [all …]
|
D | VPlanPredicator.cpp | 117 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 : make_range(RPOT.begin(), RPOT.end())) { in predicateRegionRec() 208 ReversePostOrderTraversal<VPBlockBase *> RPOT(Region->getEntry()); in linearizeRegionRec() 209 VPBlockBase *PrevBlock = nullptr; in linearizeRegionRec() 211 for (VPBlockBase *CurrBlock : make_range(RPOT.begin(), RPOT.end())) { in linearizeRegionRec()
|
D | VPlanPredicator.h | 46 EdgeType getEdgeTypeBetween(VPBlockBase *FromBlock, VPBlockBase *ToBlock); 58 void createOrPropagatePredicates(VPBlockBase *CurrBlock,
|
D | VPlanDominatorTree.h | 26 using VPDominatorTree = DomTreeBase<VPBlockBase>; 28 using VPDomTreeNode = DomTreeNodeBase<VPBlockBase>;
|
D | VPlanTransforms.cpp | 25 ReversePostOrderTraversal<VPBlockBase *> RPOT(TopRegion->getEntry()); in VPInstructionsToVPRecipes() 30 for (VPBlockBase *Base : RPOT) { in VPInstructionsToVPRecipes() 39 for (VPBlockBase *Base : RPOT) { in VPInstructionsToVPRecipes()
|
D | VPlanHCFGBuilder.cpp | 84 SmallVector<VPBlockBase *, 8> VPBBPreds; in setVPBBPredsFromBB() 258 VPBlockBase *HeaderVPBB = getOrCreateVPBB(TheLoop->getHeader()); in buildPlainCFG()
|
D | VPlanValue.h | 309 void assignSlots(const VPBlockBase *VPBB);
|
/external/llvm-project/llvm/unittests/Transforms/Vectorize/ |
D | VPlanPredicatorTest.cpp | 70 VPBlockBase *PH = TopRegion->getEntry(); in TEST_F() 71 VPBlockBase *H = PH->getSingleSuccessor(); in TEST_F() 72 VPBlockBase *InnerLoopH = H->getSingleSuccessor(); in TEST_F() 73 VPBlockBase *OuterIf = InnerLoopH->getSuccessors()[0]; in TEST_F() 74 VPBlockBase *InnerLoopLatch = InnerLoopH->getSuccessors()[1]; in TEST_F() 75 VPBlockBase *InnerIf = OuterIf->getSuccessors()[0]; in TEST_F() 83 VPBlockBase *InnerLoopLinSucc = InnerLoopH->getSingleSuccessor(); in TEST_F() 84 VPBlockBase *OuterIfLinSucc = OuterIf->getSingleSuccessor(); in TEST_F() 85 VPBlockBase *InnerIfLinSucc = InnerIf->getSingleSuccessor(); in TEST_F() 171 VPBlockBase *PH = TopRegion->getEntry(); in TEST_F() [all …]
|
D | VPlanLoopInfoTest.cpp | 51 VPBlockBase *PH = TopRegion->getEntry(); in TEST_F() 52 VPBlockBase *H = PH->getSingleSuccessor(); in TEST_F() 53 VPBlockBase *IfThen = H->getSuccessors()[0]; in TEST_F() 54 VPBlockBase *IfElse = H->getSuccessors()[1]; in TEST_F() 55 VPBlockBase *Latch = IfThen->getSingleSuccessor(); in TEST_F() 56 VPBlockBase *Exit = Latch->getSuccessors()[0] != H in TEST_F()
|
D | VPlanSlpTest.cpp | 100 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 172 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 244 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 307 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 444 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 516 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 588 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 664 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 725 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() 788 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F() [all …]
|
D | VPlanDominatorTreeTest.cpp | 49 VPBlockBase *PH = TopRegion->getEntry(); in TEST_F() 50 VPBlockBase *H = PH->getSingleSuccessor(); in TEST_F() 51 VPBlockBase *IfThen = H->getSuccessors()[0]; in TEST_F() 52 VPBlockBase *IfElse = H->getSuccessors()[1]; in TEST_F() 53 VPBlockBase *Latch = IfThen->getSingleSuccessor(); in TEST_F() 54 VPBlockBase *Exit = Latch->getSuccessors()[0] != H in TEST_F()
|
D | VPlanHCFGTest.cpp | 166 VPBlockBase *Entry = Plan->getEntry()->getEntryBasicBlock(); in TEST_F()
|
/external/llvm-project/llvm/docs/Proposals/ |
D | VectorizationPlan.rst | 115 :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
|