ChuanqiXu9 wrote:

> My current IR test verifies that there's no heap alloc across a few examples. 
> Were you thinking of a different kind of test? Can you be very specific since 
> I'm totally new to LLVM?

I mean to add a test for https://github.com/llvm/llvm-project/issues/148380 to 
show we can cover that in certain cases. Specifically, you can have a test on 
the IR to show it is devirtualized.

> I don't know when I'll next be able to make time to work on this, but if I 
> do, my next target would be std::suspend_never. I hope this one could be done 
> without an attribute, though. Do you have other use-cases in mind?

e.g., add an attribute to ask the compiler don't generate await.suspend 
intrinsics then the compiler may have optimized the await_suspend call better 
by inlining. The cost is the risk if the code resume or destroy the current 
coroutine during await_suspend somehow. But the programmer should be able to 
know that.

The core idea is to avoid generating  await.suspend intrinsics conditionally. I 
am open to the conditions.

https://github.com/llvm/llvm-project/pull/152623
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to