llvm-project/llvm/lib/Bitcode/Writer
Teresa Johnson 6c475a7595 ThinLTO: add early "dead-stripping" on the Index
Summary:
Using the linker-supplied list of "preserved" symbols, we can compute
the list of "dead" symbols, i.e. the one that are not reachable from
a "preserved" symbol transitively on the reference graph.
Right now we are using this information to mark these functions as
non-eligible for import.

The impact is two folds:
- Reduction of compile time: we don't import these functions anywhere
  or import the function these symbols are calling.
- The limited number of import/export leads to better internalization.

Patch originally by Mehdi Amini.

Reviewers: mehdi_amini, pcc

Subscribers: llvm-commits

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

llvm-svn: 291177
2017-01-05 21:34:18 +00:00
..
BitWriter.cpp Split Bitcode/ReaderWriter.h into separate reader and writer headers 2016-11-11 05:34:58 +00:00
BitcodeWriter.cpp ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
BitcodeWriterPass.cpp Split Bitcode/ReaderWriter.h into separate reader and writer headers 2016-11-11 05:34:58 +00:00
CMakeLists.txt modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
LLVMBuild.txt [ThinLTO] BitcodeWriter still requires Analysis library 2016-04-11 14:59:07 +00:00
ValueEnumerator.cpp Add an assertion for the value enumerator (bitcode writer) NFC 2016-07-08 01:13:41 +00:00
ValueEnumerator.h Fix compile with GCC 5 or later 2016-12-12 19:05:52 +00:00