1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Transforms/Coroutines
Jun Ma 801dde651c [Coroutines] Also check lifetime intrinsic for local variable when build
coroutine frame

Currently we move all allocas into the frame when build coroutine frame in
CoroSplit pass. However, this can be relaxed.

Since CoroSplit pass run after Inline pass, we can use lifetime intrinsic to
do such analysis: If the scope of lifetime intrinsic is not across any suspend
point, rather than move the allocas to frame, we can just move them to entry bb
of corresponding function. This reduce the frame size.

More importantly, this also avoid data race in multithread environment.
Consider one inline function by coroutine: it starts a thread which access
local variables, while after inline the movement of allocs to frame also access
them. cause data race.

Differential Revision: https://reviews.llvm.org/D75664
2020-03-24 13:41:55 +08:00
..
ArgAddr.ll
coro-alloc-with-param-O0.ll
coro-alloc-with-param-O2.ll
coro-catchswitch.ll
coro-cleanup-lowering.ll
coro-cleanup.ll
coro-debug-frame-variable.ll
coro-debug.ll
coro-early.ll
coro-eh-aware-edge-split-00.ll
coro-eh-aware-edge-split-01.ll
coro-eh-aware-edge-split-02.ll
coro-elide.ll
coro-frame-arrayalloca.ll
coro-frame-unreachable.ll
coro-frame.ll
coro-heap-elide.ll
coro-materialize.ll
coro-padding.ll
coro-param-copy.ll
coro-retcon-alloca.ll
coro-retcon-once-value2.ll
coro-retcon-once-value.ll
coro-retcon-resume-values2.ll
coro-retcon-resume-values.ll
coro-retcon-value.ll
coro-retcon.ll
coro-spill-after-phi.ll
coro-spill-corobegin.ll
coro-split-00.ll
coro-split-01.ll
coro-split-02.ll [Coroutines] Also check lifetime intrinsic for local variable when build 2020-03-24 13:41:55 +08:00
coro-split-alloc.ll
coro-split-dbg.ll
coro-split-eh-00.ll
coro-split-eh-01.ll
coro-split-hidden.ll
coro-split-musttail1.ll
coro-split-musttail.ll
coro-swifterror.ll
ex0.ll
ex1.ll
ex2.ll
ex3.ll
ex4.ll
ex5.ll
no-suspend.ll [Coroutines] Fix PR45130 2020-03-20 11:27:08 +08:00
phi-coro-end.ll
restart-trigger.ll
smoketest.ll