1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/lib/Bitcode/Reader
Teresa Johnson a2ca37e92d [ThinLTO] Import composite types as declarations
Summary:
When reading the metadata bitcode, create a type declaration when
possible for composite types when we are importing. Doing this in
the bitcode reader saves memory. Also it works naturally in the case
when the type ODR map contains a definition for the same composite type
because it was used in the importing module (buildODRType will
automatically use the existing definition and not create a type
declaration).

For Chromium built with -g2, this reduces the aggregate size of the
generated native object files by 66% (from 31G to 10G). It reduced
the time through the ThinLTO link and backend phases by about 20% on
my machine.

Reviewers: mehdi_amini, dblaikie, aprantl

Subscribers: llvm-commits

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

llvm-svn: 289993
2016-12-16 21:25:01 +00:00
..
BitcodeReader.cpp [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
BitReader.cpp Add explicit (void) cast to unused unique_ptr::release() results 2016-11-14 07:26:17 +00:00
BitstreamReader.cpp Bitcode: Correctly handle Fixed and VBR arrays in BitstreamCursor::skipRecord(). 2016-12-01 05:47:58 +00:00
CMakeLists.txt Refactor BitcodeReader: move Metadata and ValueId handling in their own class/file 2016-12-12 19:34:26 +00:00
LLVMBuild.txt
MetadataLoader.cpp [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
MetadataLoader.h [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
ValueList.cpp Refactor BitcodeReader: move Metadata and ValueId handling in their own class/file 2016-12-12 19:34:26 +00:00
ValueList.h Refactor BitcodeReader: move Metadata and ValueId handling in their own class/file 2016-12-12 19:34:26 +00:00