Lines Matching refs:UserTE
1032 EdgeInfo(TreeEntry *UserTE, unsigned EdgeIdx) in EdgeInfo()
1033 : UserTE(UserTE), EdgeIdx(EdgeIdx) {} in EdgeInfo()
1035 TreeEntry *UserTE = nullptr; member
1046 OS << "{User:" << (UserTE ? std::to_string(UserTE->Idx) : "null") in dump()
2095 canReorderOperands(TreeEntry *UserTE,
2102 TreeEntry *getVectorizedOperand(TreeEntry *UserTE, unsigned OpIdx) { in getVectorizedOperand() argument
2103 ArrayRef<Value *> VL = UserTE->getOperand(OpIdx); in getVectorizedOperand()
2116 const TreeEntry *getVectorizedOperand(const TreeEntry *UserTE, in getVectorizedOperand() argument
2119 const_cast<TreeEntry *>(UserTE), OpIdx); in getVectorizedOperand()
2579 if (UserTreeIdx.UserTE) in newTreeEntry()
3272 NodeRef operator*() { return I->UserTE; } in operator *()
3769 const TreeEntry *UserTE = TE.get(); in reorderTopToBottom() local
3770 while (UserTE && Cnt < RecursionMaxDepth) { in reorderTopToBottom()
3771 if (UserTE->UserTreeIndices.size() != 1) in reorderTopToBottom()
3773 if (all_of(UserTE->UserTreeIndices, [](const EdgeInfo &EI) { in reorderTopToBottom()
3774 return EI.UserTE->State == TreeEntry::Vectorize && in reorderTopToBottom()
3775 EI.UserTE->isAltShuffle() && EI.UserTE->Idx != 0; in reorderTopToBottom()
3778 UserTE = UserTE->UserTreeIndices.back().UserTE; in reorderTopToBottom()
3881 return EI.UserTE->Scalars.size() == VF || in reorderTopToBottom()
3882 EI.UserTE->Scalars.size() == in reorderTopToBottom()
3923 TreeEntry *UserTE, SmallVectorImpl<std::pair<unsigned, TreeEntry *>> &Edges, in canReorderOperands() argument
3926 for (unsigned I = 0, E = UserTE->getNumOperands(); I < E; ++I) { in canReorderOperands()
3932 if (TreeEntry *TE = getVectorizedOperand(UserTE, I)) { in canReorderOperands()
3935 [UserTE](const EdgeInfo &EI) { return EI.UserTE != UserTE; })) in canReorderOperands()
3951 [&Gather, UserTE, I](TreeEntry *TE) { in canReorderOperands()
3955 [UserTE, I](const EdgeInfo &EI) { in canReorderOperands()
3956 return EI.UserTE == UserTE && EI.EdgeIdx == I; in canReorderOperands()
3958 assert(TE->isSame(UserTE->getOperand(I)) && in canReorderOperands()
3965 !all_of(UserTE->getOperand(I), isConstant)) in canReorderOperands()
4010 return EI.UserTE == TE->UserTreeIndices.front().UserTE; in reorderBottomToTop()
4019 TreeEntry *UserTE = EI.UserTE; in reorderBottomToTop() local
4020 auto It = Users.find(UserTE); in reorderBottomToTop()
4022 It = Users.insert({UserTE, {}}).first; in reorderBottomToTop()
4103 TreeEntry *UserTE = EI.UserTE; in reorderBottomToTop() local
4104 if (!VisitedUsers.insert(UserTE).second) in reorderBottomToTop()
4109 if (AllowsReordering(UserTE)) in reorderBottomToTop()
4116 ArrayRef<std::pair<unsigned, TreeEntry *>> Ops = Users[UserTE]; in reorderBottomToTop()
4118 Ops, [UserTE, &AllowsReordering]( in reorderBottomToTop()
4122 [UserTE](const EdgeInfo &EI) { in reorderBottomToTop()
4123 return EI.UserTE == UserTE; in reorderBottomToTop()
4700 UserTreeIdx.UserTE && in buildTree_rec()
4701 UserTreeIdx.UserTE->State == TreeEntry::ScatterVectorize; in buildTree_rec()
4716 sortPtrAccesses(VL, UserTreeIdx.UserTE->getMainOp()->getType(), *DL, *SE, in buildTree_rec()
4793 UserTreeIdx.UserTE && in buildTree_rec()
4794 UserTreeIdx.UserTE->State == TreeEntry::ScatterVectorize) { in buildTree_rec()