Lines Matching full:user

73   auto updateBlockUsersInfo = [&](Operation *user) {  in optimizeReferenceCounting()  argument
74 BlockUsersInfo &info = blockUsers[user->getBlock()]; in optimizeReferenceCounting()
75 info.users.push_back(user); in optimizeReferenceCounting()
77 if (auto addRef = dyn_cast<RuntimeAddRefOp>(user)) in optimizeReferenceCounting()
79 if (auto dropRef = dyn_cast<RuntimeDropRefOp>(user)) in optimizeReferenceCounting()
83 for (Operation *user : value.getUsers()) { in optimizeReferenceCounting()
84 while (user->getParentRegion() != definingRegion) { in optimizeReferenceCounting()
85 updateBlockUsersInfo(user); in optimizeReferenceCounting()
86 user = user->getParentOp(); in optimizeReferenceCounting()
87 assert(user != nullptr && "value user lies outside of the value region"); in optimizeReferenceCounting()
90 updateBlockUsersInfo(user); in optimizeReferenceCounting()
139 for (Operation *user : info.users) { in optimizeReferenceCounting()
140 // `user` operation lies after `addRef` ... in optimizeReferenceCounting()
141 if (user == addRef || user->isBeforeInBlock(addRef)) in optimizeReferenceCounting()
144 if (user == dropRef || dropRef->isBeforeInBlock(user)) in optimizeReferenceCounting()
147 // Find the first function call user of the reference counted value. in optimizeReferenceCounting()
148 Operation *functionCall = dyn_cast<func::CallOp>(user); in optimizeReferenceCounting()
156 // Find the last regular user of the reference counted value. in optimizeReferenceCounting()
159 lastNonFunctionCallUser->isBeforeInBlock(user))) { in optimizeReferenceCounting()
160 lastNonFunctionCallUser = user; in optimizeReferenceCounting()
165 // Non function call user after the function call user of the reference in optimizeReferenceCounting()