dblaikie added a comment.

I ran some size analysis (& hadn't realized that this special case was only 
done in the DWARFv5 codepath... that leads me to wonder about size impact in 
DWARFv4, so maybe I'll need to go back and run some general size analysis cost 
of these call sites).

The .rela.debug_addr for a clang self host optimized (-O3) build, split DWARF, 
increased from 62.2MB to 70.5MB, which isn't great - but worse in the context 
of the further address reduction like the ones I've discussed on llvm-dev 
recently. "ranges everywhere" gets that 62.2MB down to 4.4MB, so growing it by 
a further 8MB would be pretty unfortunate.



================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:984-991
   // from one function to another.
   if (DD->getDwarfVersion() == 4 && DD->tuneForGDB()) {
     assert(PCAddr && "Missing PC information for a call");
     addLabelAddress(CallSiteDIE, dwarf::DW_AT_low_pc, PCAddr);
   } else if (!IsTail || DD->tuneForGDB()) {
-    assert(PCOffset && "Missing return PC information for a call");
-    addAddressExpr(CallSiteDIE, dwarf::DW_AT_call_return_pc, PCOffset);
+    assert(PCAddr && "Missing return PC information for a call");
+    addLabelAddress(CallSiteDIE, dwarf::DW_AT_call_return_pc, PCAddr);
----------------
Side question: How'd this end up like this? Why all these GDB tuning checks? 
Seems like it'd add another layer of complexity/variety that'll make it harder 
for us to all be evaluating the same things. 


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

https://reviews.llvm.org/D72489



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to