mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
73fb46a3c5
This patch improves the availability for variables stored in the coroutine frame by emitting an alloca to hold the pointer to the frame object and rewriting dbg.declare intrinsics to point inside the frame object using salvaged DIExpressions. Finally, a new alloca is created in the funclet to hold the FramePtr pointer to ensure that it is available throughout the entire function at -O0. This path also effectively reverts D90772. The testcase updates highlight nicely how every removed CHECK for a dbg.value is preceded by a new CHECK for a dbg.declare. Thanks to JunMa, Yifeng, and Bruno for their thoughtful reviews! Differential Revision: https://reviews.llvm.org/D93497 rdar://71866936 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoroCleanup.cpp | ||
CoroEarly.cpp | ||
CoroElide.cpp | ||
CoroFrame.cpp | ||
CoroInstr.h | ||
CoroInternal.h | ||
CoroSplit.cpp | ||
Coroutines.cpp |