This is an archive of the discontinued LLVM Phabricator instance.

[coroutines] CoroBegin from inner coroutines should be considered for spills
ClosedPublic

Authored by GorNishanov on Aug 23 2017, 7:01 AM.

Details

Summary

If a coroutine outer calls another coroutine inner and the inner coroutine body is inlined into the outer, coro.begin from the inner coroutine should be considered for spilling if accessed across suspends.

Prior to this change, coroutine frame building code was not considering any coro.begins for spilling.
With this change, we only ignore coro.begin for the current coroutine, but, any coro.begins that were inlined into the current coroutine are eligible for spills.

Fixes PR34267

Diff Detail

Event Timeline

GorNishanov created this revision.Aug 23 2017, 7:01 AM
GorNishanov edited the summary of this revision. (Show Details)Aug 23 2017, 7:05 AM
This revision was automatically updated to reflect the committed changes.