Lines Matching refs:CurrentOrder
2140 SmallVectorImpl<unsigned> &CurrentOrder) const;
3414 OrdersType CurrentOrder(NumScalars, NumScalars); in findReusedOrderedScalars() local
3435 if (CurrentOrder[Lane] != NumScalars) { in findReusedOrderedScalars()
3438 UsedPositions.reset(CurrentOrder[Lane]); in findReusedOrderedScalars()
3442 CurrentOrder[Lane] = I; in findReusedOrderedScalars()
3449 auto &&IsIdentityOrder = [NumScalars](ArrayRef<unsigned> CurrentOrder) { in findReusedOrderedScalars() argument
3451 if (CurrentOrder[I] != I && CurrentOrder[I] != NumScalars) in findReusedOrderedScalars()
3455 if (IsIdentityOrder(CurrentOrder)) { in findReusedOrderedScalars()
3456 CurrentOrder.clear(); in findReusedOrderedScalars()
3457 return CurrentOrder; in findReusedOrderedScalars()
3459 auto *It = CurrentOrder.begin(); in findReusedOrderedScalars()
3471 return CurrentOrder; in findReusedOrderedScalars()
3689 OrdersType CurrentOrder; in getReorderingData() local
3690 bool Reuse = canReuseExtract(TE.Scalars, TE.getMainOp(), CurrentOrder); in getReorderingData()
3691 if (Reuse || !CurrentOrder.empty()) { in getReorderingData()
3692 if (!CurrentOrder.empty()) in getReorderingData()
3693 fixupOrderingIndices(CurrentOrder); in getReorderingData()
3694 return CurrentOrder; in getReorderingData()
3697 if (Optional<OrdersType> CurrentOrder = findReusedOrderedScalars(TE)) in getReorderingData() local
3698 return CurrentOrder; in getReorderingData()
3759 if (Optional<OrdersType> CurrentOrder = in reorderTopToBottom() local
3783 GathersToOrders.try_emplace(TE.get(), *CurrentOrder); in reorderTopToBottom()
3839 OrdersType CurrentOrder(E, E); in reorderTopToBottom() local
3840 transform(Mask, CurrentOrder.begin(), [E](int Idx) { in reorderTopToBottom()
3843 fixupOrderingIndices(CurrentOrder); in reorderTopToBottom()
3844 ++OrdersUses.insert(std::make_pair(CurrentOrder, 0)).first->second; in reorderTopToBottom()
3911 OrdersType CurrentOrder; in reorderTopToBottom() local
3912 reorderOrder(CurrentOrder, MaskOrder); in reorderTopToBottom()
3914 inversePermutation(CurrentOrder, NewReuses); in reorderTopToBottom()
3985 if (Optional<OrdersType> CurrentOrder = in reorderBottomToTop() local
3989 GathersToOrders.try_emplace(TE.get(), *CurrentOrder); in reorderBottomToTop()
4077 OrdersType CurrentOrder(E, E); in reorderBottomToTop() local
4078 transform(Mask, CurrentOrder.begin(), [E](int Idx) { in reorderBottomToTop()
4081 fixupOrderingIndices(CurrentOrder); in reorderBottomToTop()
4082 OrdersUses.insert(std::make_pair(CurrentOrder, 0)).first->second += in reorderBottomToTop()
4900 OrdersType CurrentOrder; in buildTree_rec() local
4901 bool Reuse = canReuseExtract(VL, VL0, CurrentOrder); in buildTree_rec()
4913 if (!CurrentOrder.empty()) { in buildTree_rec()
4917 for (unsigned Idx : CurrentOrder) in buildTree_rec()
4921 fixupOrderingIndices(CurrentOrder); in buildTree_rec()
4925 ReuseShuffleIndicies, CurrentOrder); in buildTree_rec()
4972 OrdersType CurrentOrder(VL.size(), VL.size()); in buildTree_rec() local
4975 CurrentOrder[Indices.top().second] = I; in buildTree_rec()
4980 CurrentOrder.clear(); in buildTree_rec()
4982 None, CurrentOrder); in buildTree_rec()
5004 OrdersType CurrentOrder; in buildTree_rec() local
5006 switch (canVectorizeLoads(VL, VL0, *TTI, *DL, *SE, *LI, CurrentOrder, in buildTree_rec()
5009 if (CurrentOrder.empty()) { in buildTree_rec()
5015 fixupOrderingIndices(CurrentOrder); in buildTree_rec()
5018 ReuseShuffleIndicies, CurrentOrder); in buildTree_rec()
5327 OrdersType CurrentOrder; in buildTree_rec() local
5329 if (llvm::sortPtrAccesses(PointerOps, ScalarTy, *DL, *SE, CurrentOrder)) { in buildTree_rec()
5332 if (CurrentOrder.empty()) { in buildTree_rec()
5336 Ptr0 = PointerOps[CurrentOrder.front()]; in buildTree_rec()
5337 PtrN = PointerOps[CurrentOrder.back()]; in buildTree_rec()
5343 if (CurrentOrder.empty()) { in buildTree_rec()
5351 fixupOrderingIndices(CurrentOrder); in buildTree_rec()
5354 ReuseShuffleIndicies, CurrentOrder); in buildTree_rec()
5565 SmallVectorImpl<unsigned> &CurrentOrder) const { in canReuseExtract()
5581 CurrentOrder.clear(); in canReuseExtract()
5609 CurrentOrder.assign(E, E); in canReuseExtract()
5625 if (ExtIdx >= E || CurrentOrder[ExtIdx] != E) in canReuseExtract()
5628 CurrentOrder[ExtIdx] = I; in canReuseExtract()
5630 if (CurrentOrder[I] != E) in canReuseExtract()
5632 CurrentOrder[I] = I; in canReuseExtract()
5636 CurrentOrder.clear(); in canReuseExtract()
5640 CurrentOrder.clear(); in canReuseExtract()
6003 OrdersType CurrentOrder; in getEntryCost() local
6006 CurrentOrder, PointerOps); in getEntryCost()