> On Jul 8, 2024, at 2:18 PM, David Blaikie <dblai...@gmail.com> wrote:
>
> @Adrian Prantl <mailto:apra...@apple.com> and @Jonas Devlieghere
> <mailto:jdevliegh...@apple.com> with the CAS DWARF stuff, how are you folks
> separating line table fragments for functions? My understanding was the line
> table header was too large to have one on every function's line table
> fragment, so I would've thought you'd figured out a way to make line table
> fragments that could be added/removed from a line table without disturbing
> the other flags/state and without relying on specific values in/out of the
> line register?
[Sorry for the delay, I've been out on vacation]
With -cas-friendly-debug-info
(https://github.com/swiftlang/llvm-project/blob/d0204d443283ed71526b61ffc6a2994dd2ff46f4/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp#L174)
a DW_LNE_end_sequence is emitted at the end of each function. This resets the
state machine and allows for individual functions to grow/shrink in size
without disturbing the encoding for its neighbors. It does not emit a new
header for each function.
-- adrian
--
Dwarf-discuss mailing list
Dwarf-discuss@lists.dwarfstd.org
https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss