llvm/tools
Teresa Johnson b97baa5fe5 Support for function summary index bitcode sections and files.
Summary:
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 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 D11908).

Reviewers: dexonsmith, davidxl, joker.eph

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D13107

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249270 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-04 14:33:43 +00:00
..
bugpoint Replace some calls to isa<LandingPadInst> with isEHPad() 2015-08-19 19:54:02 +00:00
bugpoint-passes bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
dsymutil dsymutil: Also ignore the ByteSize when building the DeclContext cache for 2015-10-02 00:27:08 +00:00
gold Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
llc Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
lli Fix lli with OrcLazyJIT: the default DataLayout was used. 2015-07-30 17:29:33 +00:00
llvm-ar [CMake] Refactor and cleanup generating and installing symlinks to tools. 2015-09-14 23:09:06 +00:00
llvm-as Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
llvm-as-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-bcanalyzer Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
llvm-c-test Fix build breakage caused by memory leaks in llvm-c-test 2015-01-28 18:32:31 +00:00
llvm-config llvm-config: Add --build-system option 2015-09-09 16:39:30 +00:00
llvm-cov [llvm-cov] Disable name and path truncation 2015-09-14 23:26:36 +00:00
llvm-cxxdump Use makeArrayRef or None to avoid unnecessarily mentioning the ArrayRef type extra times. NFC 2015-09-21 05:32:41 +00:00
llvm-diff -Wdeprecated clean by making LogBuilder move constructible so it can be returned by value (in DifferenceEngine::logf) 2015-08-05 21:06:50 +00:00
llvm-dis Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
llvm-dwarfdump [dwarfdump] Add support for dumping mach-o universal objectfiles 2015-08-03 00:10:31 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-jitlistener Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
llvm-link New bitcode linker flags: 2015-09-01 17:55:55 +00:00
llvm-lto Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
llvm-mc Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
llvm-mc-fuzzer [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. 2015-10-02 23:34:06 +00:00
llvm-mcmarkup Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr 2014-08-21 20:44:56 +00:00
llvm-nm Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
llvm-objdump [PATCH] D13360: [llvm-objdump] Teach -d about AArch64 mapping symbols 2015-10-01 21:57:09 +00:00
llvm-pdbdump [llvm-pdbdump] Add include-only filters. 2015-09-29 19:49:06 +00:00
llvm-profdata InstrProf: Support for value profiling in the indexed profile format 2015-09-29 22:13:58 +00:00
llvm-readobj Fix printing of 64 bit values and make test more strict. 2015-10-01 17:57:31 +00:00
llvm-rtdyld Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
llvm-shlib [cmake] rework LLVM_LINK_LLVM_DYLIB option handling 2015-09-05 08:27:33 +00:00
llvm-size [llvm-size] Fix time to check if time of use bug. 2015-10-03 19:44:06 +00:00
llvm-split TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
llvm-stress [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
llvm-symbolizer [llvm-symbolizer] Remove underscores and other C mangling on Windows 2015-08-10 21:47:11 +00:00
lto Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml [obj2yaml] Fix "time of check to time of use" bug. Add a test. 2015-09-19 20:49:34 +00:00
opt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
verify-uselistorder Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
yaml2obj [yaml2obj] Support numeric indexes to create invalid files. Will be used by lld test. 2015-08-27 23:11:20 +00:00
CMakeLists.txt [CMake] We need to explicitly add llvm-config before clang so that LLVM_BUILD_EXTERNAL_COMPILER_RT can depend on llvm-config. 2015-10-02 22:28:48 +00:00
LLVMBuild.txt Remove macho-dump. Its functionality is now covered by llvm-readobj. 2015-09-22 17:46:10 +00:00
Makefile Remove macho-dump. Its functionality is now covered by llvm-readobj. 2015-09-22 17:46:10 +00:00