• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/

Lines Matching refs:Block

92 /// \return the VPBasicBlock that is the entry of Block, possibly indirectly.
94 const VPBlockBase *Block = this;
95 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
96 Block = Region->getEntry();
97 return cast<VPBasicBlock>(Block);
101 VPBlockBase *Block = this;
102 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
103 Block = Region->getEntry();
104 return cast<VPBasicBlock>(Block);
113 /// \return the VPBasicBlock that is the exit of Block, possibly indirectly.
115 const VPBlockBase *Block = this;
116 while (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
117 Block = Region->getExit();
118 return cast<VPBasicBlock>(Block);
122 VPBlockBase *Block = this;
123 while (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
124 Block = Region->getExit();
125 return cast<VPBasicBlock>(Block);
132 "Block w/o successors not the exit of its parent.");
140 "Block w/o predecessors not the entry of its parent.");
146 for (VPBlockBase *Block : depth_first(Entry))
147 Blocks.push_back(Block);
149 for (VPBlockBase *Block : Blocks)
150 delete Block;
275 for (VPBlockBase *Block : RPOT) {
281 if (Block->getNumPredecessors() == 0)
286 if (Block->getNumSuccessors() == 0)
290 LLVM_DEBUG(dbgs() << "LV: VPBlock in RPO " << Block->getName() << '\n');
291 Block->execute(State);
306 for (VPBlockBase *Block : RPOT) {
307 LLVM_DEBUG(dbgs() << "LV: VPBlock in RPO " << Block->getName() << '\n');
308 Block->execute(State);
496 for (VPBlockBase *Block : depth_first(Entry))
497 Block->execute(State);
585 const Twine VPlanPrinter::getUID(const VPBlockBase *Block) {
586 return (isa<VPRegionBlock>(Block) ? "cluster_N" : "N") +
587 Twine(getOrCreateBID(Block));
590 const Twine VPlanPrinter::getOrCreateName(const VPBlockBase *Block) {
591 const std::string &Name = Block->getName();
594 return "VPB" + Twine(getOrCreateBID(Block));
614 for (const VPBlockBase *Block : depth_first(Plan.getEntry()))
615 dumpBlock(Block);
620 void VPlanPrinter::dumpBlock(const VPBlockBase *Block) {
621 if (const VPBasicBlock *BasicBlock = dyn_cast<VPBasicBlock>(Block))
623 else if (const VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
646 void VPlanPrinter::dumpEdges(const VPBlockBase *Block) {
647 auto &Successors = Block->getSuccessors();
649 drawEdge(Block, Successors.front(), false, "");
651 drawEdge(Block, Successors.front(), false, "T");
652 drawEdge(Block, Successors.back(), false, "F");
656 drawEdge(Block, Successor, false, Twine(SuccessorNumber++));
711 for (const VPBlockBase *Block : depth_first(Region->getEntry()))
712 dumpBlock(Block);
889 void VPInterleavedAccessInfo::visitBlock(VPBlockBase *Block, Old2NewTy &Old2New,
891 if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) {
914 } else if (VPRegionBlock *Region = dyn_cast<VPRegionBlock>(Block))
947 for (const VPBlockBase *Block : RPOT)
948 assignSlots(Block);
976 for (const VPBlockBase *Block : RPOT)
977 assignSlots(Block);