[all-commits] [llvm/llvm-project] 7c0e06: [coro async] Don't use lifetime.start based alloca...
Arnold Schwaighofer via All-commits
all-commits at lists.llvm.org
Mon Dec 6 11:51:34 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7c0e066869de74ece2215095f2246e43d991b942
https://github.com/llvm/llvm-project/commit/7c0e066869de74ece2215095f2246e43d991b942
Author: Arnold Schwaighofer <aschwaighofer at apple.com>
Date: 2021-12-06 (Mon, 06 Dec 2021)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
Log Message:
-----------
[coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon
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
Differential Revision: https://reviews.llvm.org/D110949
More information about the All-commits
mailing list