diff --git a/mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp b/mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp --- a/mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp +++ b/mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp @@ -208,7 +208,9 @@ // Add the async dependency to each user of the `async.execute` token. auto asyncTokens = executeOp.getResults().take_back(dependencies.size()); - for (Operation *user : executeOp.token().getUsers()) + SmallVector users(executeOp.token().user_begin(), + executeOp.token().user_end()); + for (Operation *user : users) addAsyncDependencyAfter(asyncTokens, user); } }