[PATCH] D11722: [ThinLTO] Bitcode reading/writing support for ThinLTO function summary/index
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 13 09:42:16 PDT 2015
> On 2015-Aug-12, at 21:23, Teresa Johnson <tejohnson at google.com> wrote:
>
> tejohnson updated the summary for this revision.
> tejohnson updated this revision to Diff 32027.
> tejohnson added a comment.
>
> Removed native object wrapper support from this patch.
>
>
> http://reviews.llvm.org/D11722
>
> Files:
> include/llvm/Bitcode/LLVMBitCodes.h
> include/llvm/Bitcode/ReaderWriter.h
> lib/Bitcode/Reader/BitcodeReader.cpp
> lib/Bitcode/Writer/BitcodeWriter.cpp
> tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
>
> <D11722.32027.patch>
(Sorry I'm so late getting to this patch.)
I'm concerned about the direction. IIUC, the purpose of this is faster
lazy-loading. Why do this in a side-channel? Why not optimize the
existing lazy-loader? I imagine the LTO model implemented by the gold
plugin would benefit from this, for example. If we need an extra index
to make lazy-loading "fast enough", it seems like the index should be
available (as an opt-in for time/space tradeoff) for other consumers as
well. Alternatively, maybe there's something we can change about how
the existing lazy-loader works (or the layout of bitcode) to be more
amenable to the partial loading ThinLTO needs.
Not included in this patch is support for lazy-loading of metadata,
something you suggested you had support for in your prototype (and I
assume ThinLTO relies on it). I think it's particularly important that
whatever you do there isn't ThinLTO-specific.
More information about the llvm-commits
mailing list