<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 11, 2017 at 12:18 PM Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tge followup patch actually gives some benchmarks, and i have a document that I’m writing up in parallel that details some of this. But tl;dr is about 35-40% reduction in link time.<br><br>Also, the followup patch (which adds support to lld) does contain more end to end tests, but i wanted to split up the work <br></blockquote><div><br>*nod* Will the user still have to pass the linker flag after that patch? If so it'd still seem to me to make sense to opt in in both cases, rather than have the size penalty opt-out and the linker-speed opt-in.<br><br>(or ideally one flag, that you can add to your compiler flags - that causes both linker and compiler to do the right things - assuming you're using the compiler as your linker driver)<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div dir="ltr">On Mon, Dec 11, 2017 at 11:59 AM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">15% increase in object size is pretty huge (at least in the world I'm working in, which is admittedly rather different than yours). By untested I meant end-to-end, sorry, should've been clear. Like "not demonstrated/used/useful" (for someone who uses the compiler today).</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 11, 2017 at 10:43 AM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think there is a decent amount of test coverage provided by this and previous patches. Was there some other kind of test coverage you had in mind? I toyed with the idea of putting it behind an option, but it seemed unnecessary since there is no real disadvantage to having the extra data in there, aside from a relatively small increase in build size.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 11, 2017 at 10:37 AM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Seems a bit surprising to me to implement this as on by default while it's unused and untested - I'd expect an extra flag during such an experimental phase?<br><br><div class="gmail_quote"></div></div><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Dec 6, 2017 at 12:59 PM Zachary Turner via Phabricator via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br></div></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">zturner created this revision.<br>
Herald added subscribers: JDevlieghere, hiraditya, mgorny.<br>
<br>
This causes emission of .debug$H section unconditionally when `-gcodeview` is present.<br>
<br>
I ran some benchmarks on a self-hosted build and found a ~2% increase in overall build time (within the margin of error, so basically noise), and a ~15% increase in object file size, on average.<br>
<br>
Currently the linker doesn't use this, that will work will come in a followup patch. For now, we're just testing that clang emits it correctly with some obj2yaml and llc based tests.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D40917" rel="noreferrer" target="_blank">https://reviews.llvm.org/D40917</a><br>
<br>
Files:<br>
llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h<br>
llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h<br>
llvm/include/llvm/MC/MCObjectFileInfo.h<br>
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp<br>
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h<br>
llvm/lib/DebugInfo/CodeView/CMakeLists.txt<br>
llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp<br>
llvm/lib/MC/MCObjectFileInfo.cpp<br>
llvm/lib/ObjectYAML/CodeViewYAMLTypeHashing.cpp<br>
llvm/test/DebugInfo/COFF/global-type-hashes.ll<br>
llvm/test/DebugInfo/COFF/globals.ll<br>
<br></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>