NewSigma wrote: Here is a example
``` LLVM define i32 @fn() { entry: %__promise = alloca i32, align 4 %id = call token @llvm.coro.id(i32 16, ptr nonnull %__promise, ptr nonnull @fn, ptr null) %hdl = call ptr @llvm.coro.begin(token %id, ptr null) #14 %promise.addr = call ptr @llvm.coro.promise(ptr %hdl, i32 4, i1 false) #14 call void @llvm.lifetime.start.p0(i64 4, ptr %promise.addr) #2 store i32 5, ptr %promise.addr, align 4 ; DSE eliminates call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %promise.addr) #2 %0 = call i1 @llvm.coro.end(ptr null, i1 false, token none) #14 %value = load i32, ptr %promise.addr, align 4 ret i32 %value } ``` https://github.com/llvm/llvm-project/pull/140548 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits