OSDN Git Service

ThinLTO: Do not import debug info for imported global constants
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 5 Dec 2018 21:42:17 +0000 (21:42 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 5 Dec 2018 21:42:17 +0000 (21:42 +0000)
commit08bc3d840a51a7c7fee6af29f272cad0f6644dcb
tree4ecb2899ddc34fdeea0974511330a57e48097a46
parenta5d8d4c7c9404311ac832e88677d9ecf0b3855b5
ThinLTO: Do not import debug info for imported global constants

It looks like this isn't necessary (in any tests I've done, it results
in the global being described with no location or value in the imported
side - while it's still fully described in the place it's imported from)
& results in significant/pathological debug info growth to home these
location-less global variable descriptions on the import side.

This is a rather pressing/important issue to address - this regressed
executable size for one example I'm looking at by 15%, object size is probably
similar though I haven't measured it, and a 22x increase in the number of CUs
in the cu_index in split DWARF DWP files, creating a similarly large regression
in the time it takes llvm-symbolizer to run on such binaries.

Reviewers: tejohnson, evgeny777

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348416 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Linker/IRMover.cpp
test/ThinLTO/X86/index-const-prop.ll
test/ThinLTO/X86/index-const-prop2.ll