[PATCH] D13107: Support for function summary index bitcode sections and files. Includes bitcode reader/writer support for these sections, and support for creation of combined index files.

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 23 10:17:38 PDT 2015


tejohnson created this revision.
tejohnson added reviewers: dexonsmith, davidxl, joker.eph.
tejohnson added a subscriber: llvm-commits.

The bitcode format is described in this document:
  https://drive.google.com/file/d/0B036uwnWM6RWdnBLakxmeDdOeXc/view
For more info on ThinLTO see:
  https://sites.google.com/site/llvmthinlto

The first customer is ThinLTO, however the data structures are designed
and named more generally based on prior feedback. There are a few
comments regarding how certain interfaces are used by ThinLTO, and the
options added here to gold (and to a separate clang patch which will
be mailed along with this) currently have ThinLTO-specific names as the
behavior they provoke is currently ThinLTO-specific.

This patch includes support for generating per-module function indexes,
the combined index file via the gold plugin, and several tests
(more are included with the associated clang patch).

http://reviews.llvm.org/D13107

Files:
  include/llvm/Bitcode/BitcodeWriterPass.h
  include/llvm/Bitcode/BitstreamWriter.h
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/Bitcode/ReaderWriter.h
  include/llvm/IR/FunctionInfo.h
  include/llvm/Object/Binary.h
  include/llvm/Object/FunctionIndexObjectFile.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/Bitcode/Writer/BitcodeWriterPass.cpp
  lib/IR/CMakeLists.txt
  lib/IR/FunctionInfo.cpp
  lib/Object/CMakeLists.txt
  lib/Object/FunctionIndexObjectFile.cpp
  test/Bitcode/thinlto-function-summary.ll
  test/tools/gold/X86/Inputs/thinlto.ll
  test/tools/gold/X86/thinlto.ll
  tools/gold/gold-plugin.cpp
  tools/llvm-as/llvm-as.cpp
  tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13107.35523.patch
Type: text/x-patch
Size: 80384 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150923/5c203e6d/attachment.bin>


More information about the llvm-commits mailing list