[llvm-dev] [RFC][ThinLTO] llvm-dis ThinLTO summary dump format

Teresa Johnson via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 2 12:27:45 PDT 2017


On Fri, Jun 2, 2017 at 12:12 PM, Davide Italiano via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On Fri, Jun 2, 2017 at 8:46 AM, Charles Saternos via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > Hey all,
> >
> > Below is the proposed format for the dump of the ThinLTO module summary
> in
> > the llvm-dis utility:
> >
>
> The first observation I have is that this should be possibly be behind
> a flag. While dumping IR summaries is useful, they may get relatively
> big and sometimes people just want to look at the IR.
>

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.

I don't have an issue with putting it behind an option though.

Teresa


> >> ../build/bin/llvm-dis t.o && cat t.o.ll
> > ; ModuleID = '2.o'
> > source_filename = "2.ll"
> > target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
> > target triple = "x86_64-unknown-linux-gnu"
> >
> > @X = constant i32 42, section "foo", align 4
> >
> > @a = weak alias i32, i32* @X
> >
> > define void @afun() {
> >   %1 = load i32, i32* @a
> >   ret void
> > }
> >
> > define void @testtest() {
> >   tail call void @boop()
> >   ret void
> > }
> >
> > declare void @boop()
> >
> > ; Module summary:
> > ;  testtest (External linkage)
> > ;    Function (2 instructions)
> > ;    Calls: boop
> > ;  X (External linkage)
> > ;    Global Variable
> > ;  afun (External linkage)
> > ;    Function (2 instructions)
> > ;    Refs:
> > ;      a
> > ;  a (Weak any linkage)
>
> Do you need to dump the linkage for globals? You should be able to
> just look at the global in the IR and get it (or, after looking at the
> global, run `llvm-nm` on it). I think it's convenient, anyway having
> that here, so if Teresa/others think it's fine, we might just keep it.
>
>
> > ;    Alias (aliasee X)
> >
> > I've implemented the above format in the llvm-dis utility, since there
> > currently isn't really a way of getting ThinLTO summaries in a
> > human-readable format.
> >
> > Let me know what you think of this format, and what information you think
> > should be added/removed.
> >
> > Thanks,
> > Charles
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> >
>
> --
> Davide
>
> "There are no solved problems; there are only problems that are more
> or less solved" -- Henri Poincare
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>



-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |  408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170602/e9e19f5c/attachment.html>


More information about the llvm-dev mailing list