ChuanqiXu added a comment. In D115790#3199905 <https://reviews.llvm.org/D115790#3199905>, @ezhulenev wrote:
> There are two places where in MLIR you can put an attribute to coroutine > functions: > > 1. > https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp#L126 > > This is the point when coroutine functions are created, and you can attach > attribute to the `func` argument > > 2. > https://github.com/llvm/llvm-project/blob/main/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp#L325 > > Another options is to attach attribute to the `op->getParentOfType<FuncOp>` > when async runtime operations lowered to `coro.id` intrinsic. > > /cc @mehdi_amini to chime in what option is better. I'm not sure though what > type of MLIR attribute will be translated to LLVM `"coroutine.presplit"="0"`, > `UnitAttr`? Or it must be `IntegerAttr`. > > I'm on vacation with limjted access to computer until the end of the year, I > can take a look at it myself ~late Dec or early Jan. Hi, thanks for looking into this. In this func, https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp#L126, I tried to write: func.setAttr("coroutine.presplit", "0"); But it shows that we could only set the attribute for argument and result type instead of the function itself. How could we make it? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115790/new/ https://reviews.llvm.org/D115790 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits