Lines Matching defs:Slice

4691       MutableArrayRef<unsigned> Slice = CurrentOrder.slice(I * PartSz, Limit);
4693 if (any_of(Slice, [&](int I) { return I != NumScalars; })) {
4694 std::fill(Slice.begin(), Slice.end(), NumScalars);
4722 std::fill(Slice.begin(), Slice.end(), NumScalars);
4743 std::fill(Slice.begin(), Slice.end(), NumScalars);
5236 ArrayRef<Value *> Slice = VL.slice(Cnt, VF);
5240 canVectorizeLoads(Slice, Slice.front(), Order, PointerOps, BestVF,
5913 ArrayRef<int> Slice = ArrayRef(NewMask).slice(0, Sz);
5914 SmallVector<unsigned> NewOrder(Slice);
7013 ArrayRef<LoadInst *> Slice =
7015 if (VectorizedLoads.count(Slice.front()) ||
7016 VectorizedLoads.count(Slice.back()) ||
7017 areKnownNonVectorizableLoads(Slice))
7026 Slice.front()->getType(), ElementCount::getFixed(NumElts));
7027 auto CheckIfAllowed = [=](ArrayRef<LoadInst *> Slice) {
7028 for (LoadInst *LI : Slice) {
7059 AllowToVectorize = CheckIfAllowed(Slice);
7063 any_of(ValueToGatherNodes.at(Slice.front()),
7066 ((TE->Scalars.front() == Slice.front() &&
7067 TE->Scalars.back() == Slice.back()) ||
7068 (TE->Scalars.front() == Slice.back() &&
7069 TE->Scalars.back() == Slice.front()));
7071 hasFullVectorsOrPowerOf2(*TTI, Slice.front()->getType(),
7072 Slice.size());
7079 reinterpret_cast<Value *const *>(Slice.begin()), Slice.size());
7080 LoadsState LS = canVectorizeLoads(Values, Slice.front(), CurrentOrder,
7092 VectorizedLoads.insert(Slice.begin(), Slice.end());
7111 registerNonVectorizableLoads(Slice);
7115 ArrayRef<LoadInst *> Slice = ArrayRef(Loads).slice(
7118 reinterpret_cast<Value *const *>(Slice.begin()), Slice.size());
7120 VectorizedLoads.insert(Slice.begin(), Slice.end());
7204 for (auto [Slice, _] : Results) {
7206 << Slice.size() << ")\n");
7207 if (any_of(Slice, [&](Value *V) { return isVectorized(V); })) {
7208 for (Value *L : Slice)
7216 unsigned MaxVF = Slice.size();
7228 for (auto [Idx, V] : enumerate(Slice)) {
7245 any_of(E->Scalars, [&, Slice = Slice](Value *V) {
7252 !is_contained(Slice, V);
7278 if (InterleaveFactor <= Slice.size() &&
7280 getWidenedType(Slice.front()->getType(), VF),
7282 cast<LoadInst>(Slice.front())->getAlign(),
7283 cast<LoadInst>(Slice.front())
7285 canVectorizeLoads(Slice, Slice.front(), Order,
7297 [&, Slice = Slice](const auto &P) {
7298 const auto *It = find_if(Slice, [&](Value *V) {
7301 if (It == Slice.end())
7306 unsigned Start = std::distance(Slice.begin(), It);
7307 unsigned Sz = Slice.size() - Start;
7309 Slice.slice(std::distance(Slice.begin(), It),
7316 any_of(seq<unsigned>(Slice.size() / UserMaxVF),
7317 [&, Slice = Slice](unsigned Idx) {
7321 Slice.slice(Idx * UserMaxVF, UserMaxVF),
7322 Slice[Idx * UserMaxVF], Order,
7327 if (Slice.size() != ConsecutiveNodesSize)
7332 for (unsigned I = 0, E = Slice.size(); I < E; I += VF) {
7334 Slice.slice(I, std::min(VF, E - I));
9195 ArrayRef<int> Slice = Mask.slice(Idx * VF, VF);
9196 return all_of(Slice, [](int I) { return I == PoisonMaskElem; }) ||
9197 ShuffleVectorInst::isIdentityMask(Slice, VF);
9826 ArrayRef<Value *> Slice = VL.slice(Cnt, VF);
9829 if (isVectorized(Slice.front()) &&
9830 !getSameValuesTreeEntry(Slice.front(), Slice, /*SameVF=*/true))
9833 if (allConstant(Slice))
9837 bool IsSplat = isSplat(Slice);
9841 *TTI, getWidenedType(Slice.front()->getType(), 2 * VF));
9845 count(Slice, Slice.front()) ==
9846 static_cast<long>(isa<UndefValue>(Slice.front()) ? VF - 1
9850 InstructionsState S = getSameOpcode(Slice, *TLI);
9851 if (!S || S.isAltShuffle() || !allSameBlock(Slice) ||
9853 areKnownNonVectorizableLoads(Slice)) ||
9855 !hasFullVectorsOrPowerOf2(*TTI, Slice.front()->getType(), VF)))
9863 !all_of(Slice, [&](Value *V) {
9874 canVectorizeLoads(Slice, Slice.front(), Order, PointerOps);
9879 registerNonVectorizableLoads(Slice);
9883 analyzedReductionVals(Slice);
9892 cast<Instruction>(*find_if(reverse(Slice),
9902 Slices.emplace_back(Cnt, Slice.size());
9912 ArrayRef<Value *> Slice = VL.slice(Cnt, Sz);
9914 if (TreeEntry *SE = getSameValuesTreeEntry(Slice.front(), Slice,
9923 buildTree_rec(Slice, 0, EdgeInfo(&E, UINT_MAX));
9929 !isSplat(Slice)) {
9931 analyzedReductionVals(Slice);
18829 ArrayRef<Value *> Slice = ArrayRef(Operands).slice(Cnt, Size);
18830 assert(all_of(Slice,
18835 cast<StoreInst>(Slice.front())
18842 NonSchedulable.lookup(Slice.front());
18850 vectorizeStoreChain(Slice, R, Cnt, MinVF, TreeSize);
18853 .try_emplace(Slice.front(), std::make_pair(Size, Size))
18859 VectorizedStores.insert(Slice.begin(), Slice.end());