[PATCH] LTO: introduce object file-based on-disk module format.

Peter Collingbourne peter at pcc.me.uk
Thu Jul 3 00:56:56 PDT 2014


Hi rafael,

This format is simply a regular object file with the bitcode stored in a
section named ".llvmbc", plus any number of other (non-allocated) sections.

One immediate use case for this is to accommodate compilation processes
which expect the object file to contain metadata in non-allocated sections,
such as the ".go_export" section used by some Go compilers [1], although I
imagine that in the future we could consider compiling parts of the module
(such as large non-inlinable functions) directly into the object file to
improve LTO efficiency.

[1] http://golang.org/doc/install/gccgo#Imports

http://reviews.llvm.org/D4371

Files:
  include/llvm/LTO/LTOModule.h
  lib/LTO/LTOModule.cpp
  test/LTO/Inputs/bcsection.macho.s
  test/LTO/Inputs/bcsection.s
  test/LTO/bcsection.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4371.11045.patch
Type: text/x-patch
Size: 9230 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140703/e9dd61e1/attachment.bin>


More information about the llvm-commits mailing list