<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 2, 2017 at 12:12 PM, Davide Italiano via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jun 2, 2017 at 8:46 AM, Charles Saternos via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
</span><span class="">> Hey all,<br>
><br>
> Below is the proposed format for the dump of the ThinLTO module summary in<br>
> the llvm-dis utility:<br>
><br>
<br>
</span>The first observation I have is that this should be possibly be behind<br>
a flag. While dumping IR summaries is useful, they may get relatively<br>
big and sometimes people just want to look at the IR.<br></blockquote><div><br></div><div>In general of the info should be deducible from the IR, but it seems useful to see exactly what information is in the summary. And when dumping/disassembling the combined index files, then the linkage types would have been adjusted by the thin link.</div><div><br></div><div>I don't have an issue with putting it behind an option though.</div><div><br></div><div>Teresa</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5"><br>
>> ../build/bin/llvm-dis t.o && cat t.o.ll<br>
> ; ModuleID = '2.o'<br>
> source_filename = "2.ll"<br>
> target datalayout = "e-m:e-i64:64-f80:128-n8:16:<wbr>32:64-S128"<br>
> target triple = "x86_64-unknown-linux-gnu"<br>
><br>
> @X = constant i32 42, section "foo", align 4<br>
><br>
> @a = weak alias i32, i32* @X<br>
><br>
> define void @afun() {<br>
>   %1 = load i32, i32* @a<br>
>   ret void<br>
> }<br>
><br>
> define void @testtest() {<br>
>   tail call void @boop()<br>
>   ret void<br>
> }<br>
><br>
> declare void @boop()<br>
><br>
> ; Module summary:<br>
> ;  testtest (External linkage)<br>
> ;    Function (2 instructions)<br>
> ;    Calls: boop<br>
> ;  X (External linkage)<br>
> ;    Global Variable<br>
> ;  afun (External linkage)<br>
> ;    Function (2 instructions)<br>
> ;    Refs:<br>
> ;      a<br>
> ;  a (Weak any linkage)<br>
<br>
</div></div>Do you need to dump the linkage for globals? You should be able to<br>
just look at the global in the IR and get it (or, after looking at the<br>
global, run `llvm-nm` on it). I think it's convenient, anyway having<br>
that here, so if Teresa/others think it's fine, we might just keep it.<br>
<span class=""><br>
<br>
> ;    Alias (aliasee X)<br>
><br>
> I've implemented the above format in the llvm-dis utility, since there<br>
> currently isn't really a way of getting ThinLTO summaries in a<br>
> human-readable format.<br>
><br>
> Let me know what you think of this format, and what information you think<br>
> should be added/removed.<br>
><br>
> Thanks,<br>
> Charles<br>
><br>
><br>
</span><span class="">> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
><br>
<br>
--<br>
</span>Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
<div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><span style="font-family:Times;font-size:medium"><table cellspacing="0" cellpadding="0"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small"><td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Teresa Johnson |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tejohnson@google.com" target="_blank">tejohnson@google.com</a> |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"> 408-460-2413</td></tr></tbody></table></span></div>
</div></div>