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

Lines Matching refs:VectorizableTree

594     VectorizableTree.clear();
607 unsigned getTreeSize() const { return VectorizableTree.size(); }
656 /// \returns True if the VectorizableTree is both tiny and not fully
880 // The user is in the VectorizableTree. Check if we need to insert.
1417 /// \returns whether the VectorizableTree is fully vectorizable and will
1459 /// Points back to the VectorizableTree.
1471 /// The index of this treeEntry in VectorizableTree.
1636 /// Create a new VectorizableTree entry.
1643 VectorizableTree.push_back(std::make_unique<TreeEntry>(VectorizableTree));
1644 TreeEntry *Last = VectorizableTree.back().get();
1645 Last->Idx = VectorizableTree.size() - 1;
1679 TreeEntry::VecTreeTy VectorizableTree;
1684 for (unsigned Id = 0, IdE = VectorizableTree.size(); Id != IdE; ++Id) {
1685 VectorizableTree[Id]->dump();
2240 /// Add the VectorizableTree to the index iterator to be able to return
2245 ContainerTy &VectorizableTree;
2249 : ChildIteratorType::iterator_adaptor_base(W), VectorizableTree(VT) {}
2255 return R.VectorizableTree[0].get();
2283 return nodes_iterator(R->VectorizableTree.begin());
2287 return nodes_iterator(R->VectorizableTree.end());
2290 static unsigned size(BoUpSLP *R) { return R->VectorizableTree.size(); }
2366 for (auto &TEPtr : VectorizableTree) {
2618 VectorizableTree.back()->setOperand(0, Op0);
2641 VectorizableTree.back()->setOperand(0, Op0);
3590 << VectorizableTree.size() << " is fully vectorizable .\n");
3593 if (VectorizableTree.size() == 1 &&
3594 VectorizableTree[0]->State == TreeEntry::Vectorize)
3597 if (VectorizableTree.size() != 2)
3601 if (VectorizableTree[0]->State == TreeEntry::Vectorize &&
3602 (allConstant(VectorizableTree[1]->Scalars) ||
3603 isSplat(VectorizableTree[1]->Scalars)))
3607 if (VectorizableTree[0]->State == TreeEntry::NeedToGather ||
3608 VectorizableTree[1]->State == TreeEntry::NeedToGather)
3618 unsigned NumElts = VectorizableTree[0]->Scalars.size();
3619 Value *FirstReduced = VectorizableTree[0]->Scalars[0];
3654 if (VectorizableTree.size() >= MinTreeSize)
3662 assert(VectorizableTree.empty()
3676 unsigned BundleWidth = VectorizableTree.front()->Scalars.size();
3682 for (const auto &TEPtr : VectorizableTree) {
3743 << VectorizableTree.size() << ".\n");
3745 unsigned BundleWidth = VectorizableTree[0]->Scalars.size();
3747 for (unsigned I = 0, E = VectorizableTree.size(); I < E; ++I) {
3748 TreeEntry &TE = *VectorizableTree[I].get();
3763 std::any_of(std::next(VectorizableTree.begin(), I + 1),
3764 VectorizableTree.end(),
3795 auto *ScalarRoot = VectorizableTree[0]->Scalars[0];
4593 auto *VectorRoot = vectorizeTree(VectorizableTree[0].get());
4598 auto *ScalarRoot = VectorizableTree[0]->Scalars[0];
4602 auto BundleWidth = VectorizableTree[0]->Scalars.size();
4606 VectorizableTree[0]->VectorizedValue = Trunc;
4702 for (auto &TEPtr : VectorizableTree) {
4734 return VectorizableTree[0]->VectorizedValue;
5406 auto &TreeRoot = VectorizableTree[0]->Scalars;
5427 for (auto &EntryPtr : VectorizableTree)