reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Vectorize/SLPVectorizer.cpp
  558     VectorizableTree.clear();
  571   unsigned getTreeSize() const { return VectorizableTree.size(); }
 1391     VectorizableTree.push_back(std::make_unique<TreeEntry>(VectorizableTree));
 1391     VectorizableTree.push_back(std::make_unique<TreeEntry>(VectorizableTree));
 1392     TreeEntry *Last = VectorizableTree.back().get();
 1393     Last->Idx = VectorizableTree.size() - 1;
 1432     for (unsigned Id = 0, IdE = VectorizableTree.size(); Id != IdE; ++Id) {
 1433       VectorizableTree[Id]->dump();
 2003     return R.VectorizableTree[0].get();
 2031     return nodes_iterator(R->VectorizableTree.begin());
 2035     return nodes_iterator(R->VectorizableTree.end());
 2038   static unsigned size(BoUpSLP *R) { return R->VectorizableTree.size(); }
 2114   for (auto &TEPtr : VectorizableTree) {
 2366         VectorizableTree.back()->setOperand(0, Op0);
 2389         VectorizableTree.back()->setOperand(0, Op0);
 3274                     << VectorizableTree.size() << " is fully vectorizable .\n");
 3277   if (VectorizableTree.size() == 1 && !VectorizableTree[0]->NeedToGather)
 3277   if (VectorizableTree.size() == 1 && !VectorizableTree[0]->NeedToGather)
 3280   if (VectorizableTree.size() != 2)
 3284   if (!VectorizableTree[0]->NeedToGather &&
 3285       (allConstant(VectorizableTree[1]->Scalars) ||
 3286        isSplat(VectorizableTree[1]->Scalars)))
 3290   if (VectorizableTree[0]->NeedToGather || VectorizableTree[1]->NeedToGather)
 3290   if (VectorizableTree[0]->NeedToGather || VectorizableTree[1]->NeedToGather)
 3300   unsigned NumElts = VectorizableTree[0]->Scalars.size();
 3301   Value *FirstReduced = VectorizableTree[0]->Scalars[0];
 3336   if (VectorizableTree.size() >= MinTreeSize)
 3344   assert(VectorizableTree.empty()
 3358   unsigned BundleWidth = VectorizableTree.front()->Scalars.size();
 3364   for (const auto &TEPtr : VectorizableTree) {
 3425                     << VectorizableTree.size() << ".\n");
 3427   unsigned BundleWidth = VectorizableTree[0]->Scalars.size();
 3429   for (unsigned I = 0, E = VectorizableTree.size(); I < E; ++I) {
 3430     TreeEntry &TE = *VectorizableTree[I].get();
 3446             std::next(VectorizableTree.begin(), I + 1), VectorizableTree.end(),
 3446             std::next(VectorizableTree.begin(), I + 1), VectorizableTree.end(),
 3476     auto *ScalarRoot = VectorizableTree[0]->Scalars[0];
 4247   auto *VectorRoot = vectorizeTree(VectorizableTree[0].get());
 4252   auto *ScalarRoot = VectorizableTree[0]->Scalars[0];
 4256     auto BundleWidth = VectorizableTree[0]->Scalars.size();
 4260     VectorizableTree[0]->VectorizedValue = Trunc;
 4356   for (auto &TEPtr : VectorizableTree) {
 4388   return VectorizableTree[0]->VectorizedValue;
 5060   auto &TreeRoot = VectorizableTree[0]->Scalars;
 5081   for (auto &EntryPtr : VectorizableTree)