<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 18, 2018 at 12:29 PM Paul Robinson via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">probinson added inline comments.<br>
<br>
<br>
================<br>
Comment at: test/DebugInfo/Generic/string-offsets-multiple-cus.ll:71-72<br>
+;<br>
+; Verify that the type unit has the proper DW_AT_str_offsets_base attribute and<br>
+; a segment in the .debug_str_offsets section.<br>
+;<br>
----------------<br>
wolfgangp wrote:<br>
> dblaikie wrote:<br>
> > Is each type unit getting its own string offset? I'd expect type units to use the string offset table of the CU they were attached to, so this should be the same as CU1_STROFF?<br>
> ><br>
> > I mean it's a tradeoff - using separate string offset sections per TU means they can be dropped if this copy of the TU is dropped. But it also means more duplication - the same string offset having to be duplicated in the CU and every TU if the same string appears in all/several of them.<br>
> At the moment all the units in a compilation share the same string offsets table. I corrected all the xxx_STROFF lit variables. I'm not sure if it's really worth it to drop the string offsets that belong to a dropped unit. I would think the gain would be small.<br>
The thing is if we have a relocation from the string offsets to the string, and don't drop the entry in the offsets table, the linker can't drop the string, even if there are no actual references left.  That would be the significant savings.<br></blockquote><div><br>If this unit is only dropped due to deduplication by the linker - the strings will, presumably, still be needed by the remaining instance of the type unit - so yeah, probably just the offsets that would be unnecessarily kept.<br><br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="https://reviews.llvm.org/D42021" rel="noreferrer" target="_blank">https://reviews.llvm.org/D42021</a><br>
<br>
<br>
<br>
</blockquote></div></div>