[llvm] [DebugInfo] Merge partially matching chains of textual inclusions (PR #125780)
Vladislav Dzhidzhoev via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 04:20:58 PST 2025
dzhidzhoev wrote:
> > Essentially, from the LLVM standpoint the output of this inlining procedure is similar to that of full textual inclusion by a C/C++ preprocessor (testcase in #122846 was created to emulate the original behavior via preprocessor). And it is important not to loose the location information for something inlined this way.
>
> Could you explain a little more about how this works? For most consumers of DWARF, including all debuggers I'm aware of, lexical blocks are not directly visible to the user, while inlined calls are (via an inlined stack frame). Is the intent here that a full textual-inclusion callstack be present in the debug info, or just that we don't misattribute any instructions to the wrong file?
This patch has nothing to do with "full textual-inclusion call stack". The goal here is to preserve as much information as possible when merging locations. I think Anton meant that nested DILexicalBlocks attributed to different files have structure similar to inlinedAt-location chains.
https://github.com/llvm/llvm-project/pull/125780
More information about the llvm-commits
mailing list