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

Arnold Schwaighofer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 1 10:10:51 PDT 2021


aschwaighofer created this revision.
aschwaighofer added a reviewer: rjmccall.
Herald added subscribers: lxfind, hiraditya.
aschwaighofer requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110949

Files:
  llvm/lib/Transforms/Coroutines/CoroFrame.cpp
  llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110949.376565.patch
Type: text/x-patch
Size: 6361 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211001/896f5ca4/attachment.bin>


More information about the llvm-commits mailing list