This is an archive of the discontinued LLVM Phabricator instance.

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

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

Details

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

Diff Detail

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?

This revision was not accepted when it landed; it landed in state Needs Review.Dec 6 2021, 11:51 AM
This revision was automatically updated to reflect the committed changes.