aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2021-01-26 14:30:10 -0800
committerAdrian Prantl <aprantl@apple.com>2021-01-26 15:01:26 -0800
commit0554541b44548591373b690030dea28c5434be7c (patch)
tree905953c41c5f3cd94beaf27f66a08a58d3d1f6f2 /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
parent8afabff6b11c3aa2b0a2f045833450703aab6605 (diff)
downloadllvm-0554541b44548591373b690030dea28c5434be7c.zip
llvm-0554541b44548591373b690030dea28c5434be7c.tar.gz
llvm-0554541b44548591373b690030dea28c5434be7c.tar.bz2
Salvage debug info for function arguments in coro-split funclets.
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
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
0 files changed, 0 insertions, 0 deletions