Go to file
Teresa Johnson 0c432b1a70 [ThinLTO] Only emit referenced type id records in index files
Summary:
Currently all type ids are emitted into the index file when it is
written. For distributed ThinLTO, that meant that all type ids were
being duplicated into every single distributed index file, regardless of
whether they were referenced, leading to huge amounts of unnecessary
duplication and size bloat.

Keep track of the type id GUIDs actually referenced by the GV summary
records being emitted, and only emit those type IDs.

Add a new test, and fix test/Assembler/thinlto-summary.ll so that all
type ids are referenced to prevent deletion in that test.

Reviewers: pcc

Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, vitalybuka, llvm-commits

Differential Revision: https://reviews.llvm.org/D49565

llvm-svn: 337503
2018-07-19 22:25:56 +00:00
clang [CStringSyntaxChecker] Check strlcpy sizeof syntax 2018-07-19 21:50:03 +00:00
clang-tools-extra [clangd] Also get scope for RK_pattern completion results. 2018-07-18 15:31:14 +00:00
compiler-rt [libFuzzer] when -print_coverage=1 is given, print more stats (the number of seeds that hit every given function) 2018-07-19 22:00:48 +00:00
debuginfo-tests Revert "[CMake] Sort dependency list and add safestack to it" 2018-07-18 20:10:43 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx [libc++] Allow running ABI list tests with different ABI versions 2018-07-19 18:02:50 +00:00
libcxxabi [CMake] Set per-runtime library directory suffix in runtimes build 2018-07-10 19:13:33 +00:00
libunwind The semantics of DW_CFA_GNU_args_size have changed subtile over the 2018-07-17 19:00:51 +00:00
lld [ELF][HEXAGON] Add support for R_HEX_B15_PCREL 2018-07-19 20:27:43 +00:00
lldb Added unit tests for Flags 2018-07-19 17:45:51 +00:00
llgo
llvm [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
openmp Block library shutdown until unreaped threads finish spin-waiting 2018-07-19 19:17:00 +00:00
parallel-libs
polly [DependenceInfo] Use isl++ to replace foreach_set with for loop 2018-07-17 07:08:06 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.