1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms/Coroutines
Chuanqi Xu 5dd2faa10a [Coroutines] Salvege Debug.values
Summary: The previous implementation of coro-split didn't collect values
used by dbg instructions into the spills which made a log debug info
unavailable with optimization on.
This patch tries to collect these uses which are used by dbg.values. In
this way, the debugbility of coroutine could be as powerful as normal
functions with optimization on.

To avoid enlarging the coroutine frame, this patch only collects
`dbg.value` whose value is already in the coroutine frame. This decision
may make some debug info getting unavailable. But if we are with
optimization on, the performance issue should be considered first. And
this patch would make the debugbility of coroutine to be better only
without changing the layout of the frame.

Test-plan: check-llvm

Reviewed By: aprantl, lxfind

Differential Revision: https://reviews.llvm.org/D97673
2021-05-13 13:06:33 +08:00
..
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
CoroCleanup.cpp Add @llvm.coro.async.size.replace intrinsic. 2021-02-23 06:43:52 -08:00
CoroEarly.cpp Revert "[Coroutines] Set presplit attribute in Clang instead of CoroEarly pass" 2021-04-18 17:22:28 -07:00
CoroElide.cpp [Coroutine] Collect CoroBegin if all of terminators are dominated by one coro.destroy 2021-04-22 11:21:37 +08:00
CoroFrame.cpp [Coroutines] Salvege Debug.values 2021-05-13 13:06:33 +08:00
CoroInstr.h [coro async] Allow a coro.suspend.async to specify which argument is the context argument 2021-03-03 08:27:37 -08:00
CoroInternal.h [Coroutines] Salvege Debug.values 2021-05-13 13:06:33 +08:00
CoroSplit.cpp [Coroutines] Salvege Debug.values 2021-05-13 13:06:33 +08:00
Coroutines.cpp Add @llvm.coro.async.size.replace intrinsic. 2021-02-23 06:43:52 -08:00