reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1199 if (VL.size() == Scalars.size()) 1200 return std::equal(VL.begin(), VL.end(), Scalars.begin()); 1204 [this](Value *V, unsigned Idx) { return V == Scalars[Idx]; }); 1253 Operands[OpIdx].resize(Scalars.size()); 1254 for (unsigned Lane = 0, E = Scalars.size(); Lane != E; ++Lane) 1261 auto *I0 = cast<Instruction>(Scalars[0]); 1263 unsigned NumLanes = Scalars.size(); 1268 auto *I = cast<Instruction>(Scalars[Lane]); 1339 InstructionsState S = getSameOpcode(Scalars, ReorderIndices.front()); 1354 for (Value *V : Scalars) 1394 Last->Scalars.insert(Last->Scalars.begin(), VL.begin(), VL.end()); 1394 Last->Scalars.insert(Last->Scalars.begin(), VL.begin(), VL.end()); 2049 if (isSplat(Entry->Scalars)) { 2050 OS << "<splat> " << *Entry->Scalars[0]; 2053 for (auto V : Entry->Scalars) { 2122 for (int Lane = 0, LE = Entry->Scalars.size(); Lane != LE; ++Lane) { 2123 Value *Scalar = Entry->Scalars[Lane]; 2147 Value *UseScalar = UseEntry->Scalars[0]; 2908 ArrayRef<Value*> VL = E->Scalars; 3285 (allConstant(VectorizableTree[1]->Scalars) || 3286 isSplat(VectorizableTree[1]->Scalars))) 3300 unsigned NumElts = VectorizableTree[0]->Scalars.size(); 3301 Value *FirstReduced = VectorizableTree[0]->Scalars[0]; 3358 unsigned BundleWidth = VectorizableTree.front()->Scalars.size(); 3365 Instruction *Inst = dyn_cast<Instruction>(TEPtr->Scalars[0]); 3427 unsigned BundleWidth = VectorizableTree[0]->Scalars.size(); 3448 return EntryPtr->NeedToGather && EntryPtr->isSame(TE.Scalars); 3454 << " for bundle that starts with " << *TE.Scalars[0] 3476 auto *ScalarRoot = VectorizableTree[0]->Scalars[0]; 3559 assert(llvm::all_of(make_range(E->Scalars.begin(), E->Scalars.end()), 3559 assert(llvm::all_of(make_range(E->Scalars.begin(), E->Scalars.end()), 3574 BlocksSchedules[BB]->getScheduleData(E->isOneOf(E->Scalars.back())); 3600 SmallPtrSet<Value *, 16> Bundle(E->Scalars.begin(), E->Scalars.end()); 3600 SmallPtrSet<Value *, 16> Bundle(E->Scalars.begin(), E->Scalars.end()); 3629 for (unsigned Lane = 0, LE = E->Scalars.size(); Lane != LE; ++Lane) { 3631 if (E->Scalars[Lane] == VL[i]) { 3656 if (VL.size() == E->Scalars.size() && !E->ReuseShuffleIndices.empty()) { 3726 LLVM_DEBUG(dbgs() << "SLP: Diamond merged for " << *E->Scalars[0] << ".\n"); 3734 VectorType *VecTy = VectorType::get(ScalarTy, E->Scalars.size()); 3740 auto *V = Gather(E->Scalars, VecTy); 3813 auto *V = Gather(E->Scalars, VecTy); 3832 Value *NewV = propagateMetadata(V, E->Scalars); 3848 auto *V = Gather(E->Scalars, VecTy); 3910 propagateIRFlags(V, E->Scalars, VL0); 3952 propagateIRFlags(V, E->Scalars, VL0); 3954 V = propagateMetadata(I, E->Scalars); 3996 propagateIRFlags(V, E->Scalars, VL0); 3998 V = propagateMetadata(I, E->Scalars); 4036 Value *V = propagateMetadata(LI, E->Scalars); 4074 Value *V = propagateMetadata(ST, E->Scalars); 4098 V = propagateMetadata(I, E->Scalars); 4137 Type *Tys[] = { VectorType::get(CI->getType(), E->Scalars.size()) }; 4149 propagateIRFlags(V, E->Scalars, VL0); 4198 unsigned e = E->Scalars.size(); 4201 auto *OpInst = cast<Instruction>(E->Scalars[i]); 4205 AltScalars.push_back(E->Scalars[i]); 4208 OpScalars.push_back(E->Scalars[i]); 4218 V = propagateMetadata(I, E->Scalars); 4252 auto *ScalarRoot = VectorizableTree[0]->Scalars[0]; 4256 auto BundleWidth = VectorizableTree[0]->Scalars.size(); 4366 for (int Lane = 0, LE = Entry->Scalars.size(); Lane != LE; ++Lane) { 4367 Value *Scalar = Entry->Scalars[Lane]; 5060 auto &TreeRoot = VectorizableTree[0]->Scalars; 5082 Expr.insert(EntryPtr->Scalars.begin(), EntryPtr->Scalars.end()); 5082 Expr.insert(EntryPtr->Scalars.begin(), EntryPtr->Scalars.end());