Lines Matching refs:executeOp
140 async::ExecuteOp addExecuteResults(async::ExecuteOp executeOp, in addExecuteResults() argument
143 Operation *yieldOp = executeOp.getBody()->getTerminator(); in addExecuteResults()
148 resultTypes.reserve(executeOp.getNumResults() + results.size()); in addExecuteResults()
149 transform(executeOp.getResultTypes(), std::back_inserter(resultTypes), in addExecuteResults()
161 OpBuilder builder(executeOp); in addExecuteResults()
163 executeOp.getLoc(), TypeRange{resultTypes}.drop_front() /*drop token*/, in addExecuteResults()
164 executeOp.dependencies(), executeOp.operands()); in addExecuteResults()
167 executeOp.getRegion().cloneInto(&newOp.getRegion(), mapper); in addExecuteResults()
170 executeOp.getOperation()->replaceAllUsesWith( in addExecuteResults()
172 executeOp.erase(); in addExecuteResults()
183 void operator()(async::ExecuteOp executeOp) { in operator ()()
184 if (!areAllUsersExecuteOrAwait(executeOp.token())) in operator ()()
187 for (auto &op : llvm::reverse(executeOp.getBody()->without_terminator())) { in operator ()()
202 auto executeOp = waitOp->getParentOfType<async::ExecuteOp>(); in ~DeferWaitCallback() local
207 executeOp = addExecuteResults(executeOp, dependencies); in ~DeferWaitCallback()
210 auto asyncTokens = executeOp.getResults().take_back(dependencies.size()); in ~DeferWaitCallback()
211 SmallVector<Operation *, 4> users(executeOp.token().user_begin(), in ~DeferWaitCallback()
212 executeOp.token().user_end()); in ~DeferWaitCallback()
249 .Case<async::ExecuteOp>([&](auto executeOp) { in addAsyncDependencyAfter() argument
252 it = executeOp.getBody()->begin(); in addAsyncDependencyAfter()
253 executeOp.operandsMutable().append(asyncTokens); in addAsyncDependencyAfter()
257 executeOp.getLoc()); in addAsyncDependencyAfter()
258 copy(executeOp.getBody()->addArguments(tokenTypes, tokenLocs), in addAsyncDependencyAfter()
281 auto executeOp = dyn_cast<async::ExecuteOp>(it->getParentOp()); in addAsyncDependencyAfter() local
282 if (executeOp && areAllUsersExecuteOrAwait(executeOp.token()) && in addAsyncDependencyAfter()
293 void operator()(async::ExecuteOp executeOp) { in operator ()()
296 llvm::make_filter_range(executeOp.results(), [](OpResult result) { in operator ()()
314 assert(!executeOp.results()[index].getUses().empty()); in operator ()()
316 auto uses = llvm::drop_begin(executeOp.results()[index].getUses()); in operator ()()
318 auto yieldOp = cast<async::YieldOp>(executeOp.getBody()->getTerminator()); in operator ()()
320 executeOp = addExecuteResults(executeOp, operands); in operator ()()
322 uses = llvm::drop_begin(executeOp.results()[index].getUses()); in operator ()()
323 auto results = executeOp.results().take_back(count); in operator ()()