This is an archive of the discontinued LLVM Phabricator instance.

[coroutines] Experimenting with __builtin_coro_frame_max_size
Needs ReviewPublic

Authored by modocache on Jan 2 2019, 8:48 PM.

Details

Summary

This commit implements a proposed addendum to the C++ Coroutines TS that
would allow users to query, at compile time, the maximum potential size
of a coroutine frame, from within the frontend.

The builtin_coro_frame_max_size allows users to access this size, for
coroutine lambdas, by passing in the type of the coroutine lambda into
the function from which
builtin_coro_frame_max_size is called.
https://reviews.llvm.org/P8124 provides an example of such a program.

Diff Detail

Event Timeline

modocache created this revision.Jan 2 2019, 8:48 PM
modocache updated this revision to Diff 180903.Jan 9 2019, 12:27 PM

Thanks for the offline review @GorNishanov! This revision allows constexpr usages of __builtin_coro_frame_max_size.

modocache updated this revision to Diff 180905.Jan 9 2019, 12:31 PM

Remove obsoleted code I accidentally included.