================
@@ -4984,6 +4984,25 @@ def CIR_CoroSizeOp : CIR_CoroIntrinsicOp<"size", (ins),
}];
}
+//===----------------------------------------------------------------------===//
+// Coroutine intrinsic PromiseOp
+//===----------------------------------------------------------------------===//
+
+def CIR_CoroPromiseOp : CIR_CoroIntrinsicOp<"promise",
+ (ins CIR_VoidPtrType:$coroframe, CIR_AnyIntType:$align,
CIR_BoolType:$from),
+ (outs CIR_VoidPtrType:$result)> {
+ let summary = "Represents llvm.coro.promise";
+ let description = [{
+ Given a coroutine handle (if `from` is false) or a pointer to a coroutine
+ promise (if `from` is true), obtains a pointer to the coroutine promise or
----------------
erichkeane wrote:
Hmm... not a HUGE fan of having this store a void-ptr with a difference in
behavior/contained thing based on a flag. At least `from` needs a better name
perhaps?
https://github.com/llvm/llvm-project/pull/221124
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits