[PATCH] D152708: [RFC][Draft] Enable primitive support for Two-Level Line Tables in LLVM

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 12 10:04:47 PDT 2023


dblaikie added a comment.

Really appreciate you providing this prototype.

> This solves one of the current weaknesses in DWARF debugging, which is the inability to set breakpoints or step onto inlined callsites. However, there are other proposals (such as Location View Numbering) that could achieve the same thing, and the costs of TLLT in storage size and design complexity may make it a non-ideal solution to this problem.

FWIW, one of the major motivations for this was not only to include the stop points, but also to allow symbolizing including stack frames - so you'd need to know that all the inlined instructions come from the inlined call site. I think, maybe, my vague understanding of Location View Numbering wouldn't cover that case, and only covers the "how do I describe the variable when I'm stopped at this synthetic location that exists just before or after the call", for instance?

It is unfortunate to hear that TLLT are a significant size increase, though not entirely surprising - it's a bunch of extra info to encode. I'll be glad to have this example to experiment with.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152708/new/

https://reviews.llvm.org/D152708



More information about the cfe-commits mailing list