[llvm-dev] Should we construct debug information in LLVM?

chuanqi.xcq via llvm-dev llvm-dev at lists.llvm.org
Tue Apr 6 19:30:37 PDT 2021


Hi,

Recently I am working on constructing debug information in LLVM for C++ Coroutine Frame: https://reviews.llvm.org/D99179.
The reason why we can't construct thr debug information for C++ Coroutine Frame in the frontend is the framework of LLVM
coroutine decides to construct the frame in the middle end. So we can't know the layout of the coroutine frame until the coro-split
pass.

Then a lot of my collegues told me many times that it is very important to them to see the frame in the debugger in production 
environment. Although many things in the frame are temporaries produced by compiler, my collegues are still satisfied to see the
frame.

But I am also agree with that it is a little bit odd to contruct the debug information in the middle end. I get this from the API
design. And about half of codes in D99179 are trying to construct the debug information from corresponding LLVM type, which 
is unrelated to coroutine module. 

As the reviewer's suggestion, I want to ask the opinion from the debug info folks:
- Is it ok to construct debug information in LLVM Passes?
- If no, is there any method to help us to solve these problems? 

Thanks,
Chuanqi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210407/91386fa7/attachment.html>


More information about the llvm-dev mailing list