[Mlir-commits] [mlir] [mlir][IR] Add builtin `TokenType` (PR #195640)
Matthias Springer
llvmlistbot at llvm.org
Mon May 25 16:29:04 PDT 2026
================
@@ -136,8 +136,8 @@ def UnrealizedConversionCastOp : Builtin_Op<"unrealized_conversion_cast", [
```
}];
- let arguments = (ins Variadic<AnyType>:$inputs);
- let results = (outs Variadic<AnyType>:$outputs);
+ let arguments = (ins Variadic<AnyTypeOrToken>:$inputs);
----------------
matthias-springer wrote:
This is an artifact of `async-func-to-async-runtime`. It creates an `async.coro.free` op in a dead basic block. That block is then ignored by the dialect conversion. (It doesn't convert ops in unreachable blocks.) One of its operands has an async type that turns into a token. The producer of the token is defined in another (reachable) block. The dialect conversion inserts a `builtin.unrealized_conversion_cast` op from token -> async type.
Let me try to improve `async-func-to-async-runtime`, so that it never creates dead IR...
https://github.com/llvm/llvm-project/pull/195640
More information about the Mlir-commits
mailing list