[clang] [CIR] Change previous coroutine builtins to have their own coro intrinsic ops (PR #211699)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 3 18:14:43 PDT 2026
================
@@ -4702,6 +4619,131 @@ def CIR_CoReturnOp : CIR_Op<"co_return", [
let hasLLVMLowering = false;
}
+//===----------------------------------------------------------------------===//
+// Coroutine intrinsics
+//===----------------------------------------------------------------------===//
+
+class CIR_CoroIntrinsicOp<string mnem, dag ins, dag outs,
+ list<Trait> traits = []>
+ : CIR_Op<"coro.intrinsic." # mnem, traits> {
+ let hasLLVMLowering = 1;
+ let arguments = ins;
+ let results = outs;
+
+ let assemblyFormat = [{
+ `(` operands `)` `:` functional-type(operands, results) attr-dict
+ }];
+}
+//===----------------------------------------------------------------------===//
+// Coroutine intrinsic IdOp
+//===----------------------------------------------------------------------===//
+
+// TODO: This operation should return an MLIR `token` once the type becomes
+// available. `CIR_UInt32` is used as a temporary placeholder.
----------------
Andres-Salamanca wrote:
Like it was mentioned in the meeting, the MLIR token is already a built-in type. Sorry, I should have checked that more carefully 🙇. I've updated the appropriate operations to use it.
https://github.com/llvm/llvm-project/pull/211699
More information about the cfe-commits
mailing list