Page MenuHomePhabricator

[coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon
Needs ReviewPublic

Authored by aschwaighofer on Oct 1 2021, 10:10 AM.

Details

Reviewers
rjmccall
Summary

Infinite loops can lead to an IR representation where the lifetime.end
intrinsice is missing. The code to do lifetime based optimization then
fails to see that an address escapes (is life) accross a supspend.

Eventually, we could detect such situations and disable it under more narrow
circumstances. For now, do the correct thing.

rdar://83635953

Event Timeline

aschwaighofer created this revision.Oct 1 2021, 10:10 AM
aschwaighofer requested review of this revision.Oct 1 2021, 10:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 1 2021, 10:10 AM

Same question as for https://reviews.llvm.org/D110953: is there a reason this isn't broken for the switch lowering as well?