[coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon
It does not handle loops correctly i.e it moves the lifetime.start intrinsic into a loop rendering the stack object as not alive for part of the loop. ``` entry: %obj = alloca i8 lifetime.start(%obj) br loop loop: coro.suspend() escape(%obj) cond_br %cond, label %exit, label loop br loop exit: lifetime.end(%obj ``` After sinking: ``` entry: %obj = alloca i8 br loop loop: coro.suspend() lifetime.start(%obj) escape(%obj) cond_br %cond, label %exit, label loop br loop exit: lifetime.end(%obj ``` rdar://83411917 Differential Revision: https://reviews.llvm.org/D110953
Loading
Please register or sign in to comment