[PATCH] D93497: Salvage debug info for function arguments in coro-split funclets.

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 17 15:54:37 PST 2020


aprantl created this revision.
aprantl added reviewers: vsk, lxfind, junparser, bruno.
Herald added subscribers: modocache, hiraditya.
aprantl requested review of this revision.
Herald added a project: LLVM.

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.

rdar://71866936


https://reviews.llvm.org/D93497

Files:
  llvm/lib/Transforms/Coroutines/CoroFrame.cpp
  llvm/lib/Transforms/Coroutines/CoroInternal.h
  llvm/lib/Transforms/Coroutines/CoroSplit.cpp
  llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
  llvm/test/Transforms/Coroutines/coro-debug.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93497.312630.patch
Type: text/x-patch
Size: 11699 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201217/497b5839/attachment.bin>


More information about the llvm-commits mailing list