[PATCH] D75375: [MCDwarf] Generate DWARF v5 .debug_rnglists for assembly files

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 15:33:36 PST 2020


MaskRay marked 2 inline comments as done.
MaskRay added inline comments.


================
Comment at: llvm/lib/MC/MCDwarf.cpp:1120-1124
+    MCSymbol *StartSymbol =
+        context.createTempSymbol("debug_rnglists_start", true, true);
+    MCSymbol *EndSymbol =
+        context.createTempSymbol("debug_rnglists_end", true, true);
+    mcdwarf::emitListsTableHeaderStart(MCOS, StartSymbol, EndSymbol);
----------------
dblaikie wrote:
> MaskRay wrote:
> > dblaikie wrote:
> > > Might be worth considering rolling the start/end label creation into this utility function & having this function return the EndSymbol for later use?
> > > 
> > > (some of the other "emit a header with the usual length field" implementations in AsmPrinter use this idiom - the function creates both labels, returns the end label for the outer code to emit at the end of the contents)
> > ```
> > // https://github.com/llvm/llvm-project/blob/master/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp#L2425
> > static MCSymbol *emitLoclistsTableHeader(AsmPrinter *Asm,
> >                                          const DwarfDebug &DD) {
> >   MCSymbol *TableStart = Asm->createTempSymbol("debug_loclist_table_start");
> >   MCSymbol *TableEnd = Asm->createTempSymbol("debug_loclist_table_end");
> >   mcdwarf::emitListsTableHeaderStart(*Asm->OutStreamer, TableStart, TableEnd);
> > ```
> > 
> > The temporary labels may have a different name (loclist). Shall I add another parameter `SymbolName` accepting either `debug_loclists_header` or `debug_rnglists_header`?
> I'm undecided/your choice - I wonder if it might be reasonable to not worry about giving them such distinct names? let them be debug_list_header0, debug_list_header1, etc? I don't mind too much either way. Adding the list type string, or not. I guess it's probably nice to add it.
In D75568, I moved TableStart/TableEnd generation into emitListsTableHeaderStart().  PTAL~

It seems we don't have a test checking -filetype=asm output, so the name is not significant.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75375





More information about the llvm-commits mailing list