Home | History | Annotate | Download | only in Vectorize

Lines Matching refs:Predecessors

338   SmallVector<VPBlockBase *, 1> Predecessors;
355 Predecessors.push_back(Predecessor);
358 /// Remove \p Predecessor from the predecessors of this block.
360 auto Pos = std::find(Predecessors.begin(), Predecessors.end(), Predecessor);
362 Predecessors.erase(Pos);
416 const VPBlocksTy &getPredecessors() const { return Predecessors; }
417 VPBlocksTy &getPredecessors() { return Predecessors; }
428 return (Predecessors.size() == 1 ? *Predecessors.begin() : nullptr);
432 size_t getNumPredecessors() const { return Predecessors.size(); }
441 /// predecessors. \return the root enclosing block if all enclosing blocks
442 /// have no predecessors.
461 /// \return the predecessors either attached directly to this VPBlockBase or,
463 /// predecessors of its own, search recursively for the first enclosing
464 /// VPRegionBlock that has predecessors and return them. If no such
465 /// VPRegionBlock exists, return the (empty) predecessors of the topmost
506 /// This VPBlockBase must have no predecessors. This VPBlockBase is not added
509 assert(Predecessors.empty() && "Block predecessors already set.");
1027 assert(Entry->getPredecessors().empty() && "Entry block has predecessors.");
1050 /// EntryBlock must have no predecessors.
1053 "Entry block cannot have predecessors.");
1252 // successors/predecessors but not to the blocks inside the region.
1284 // Inverse order specialization for VPBasicBlocks. Predecessors are used instead
1379 /// NewBlock. \p NewBlock must have neither successors nor predecessors.
1396 /// must have neither successors nor predecessors.
1411 /// the successors of \p From and \p From to the predecessors of \p To. Both
1424 /// from the successors of \p From and \p From from the predecessors of \p To.