aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2021-12-06 09:23:50 -0800
committerArnold Schwaighofer <aschwaighofer@apple.com>2021-12-06 10:59:43 -0800
commit64ba9dd943aab8b7bdb44a1c3ae05ed2a940280d (patch)
treeab6ff2bcd65bbfe9fa56835f4c641da085e570f9 /llvm/lib/CodeGen/MachineScheduler.cpp
parent0ef8ad08db6c154f14c0e060b71106dacd8f29fd (diff)
downloadllvm-64ba9dd943aab8b7bdb44a1c3ae05ed2a940280d.zip
llvm-64ba9dd943aab8b7bdb44a1c3ae05ed2a940280d.tar.gz
llvm-64ba9dd943aab8b7bdb44a1c3ae05ed2a940280d.tar.bz2
[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
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions