krzysz00 wrote: The problem with `gpu.launch` is that it's not `IsolatedFromAbove`, so you can't just schedule passes onto it. But I think at the very least moving to `FunctionLikeOpInterface` isn't a bad idea https://github.com/llvm/llvm-project/pull/123904