llvm/lib/Linker
Teresa Johnson 7cfde51c4f Improve efficiency of handling unmapped subprogram metadata
The stripNullSubprograms function is very inefficient because
it walks all subprograms in all compile units in the dest module
any time a new module is linked in. For LTO in particular this will
get increasingly expensive as more modules are linked.

This patch improves the efficiency in several ways. The first is that
no scanning is necessary when there were no unneeded subprograms
identified in the first place. The second is that only the newly-linked
module's compile unit metadata should be examined.

Fixes PR26346.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259049 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-28 15:08:09 +00:00
..
CMakeLists.txt Slit lib/Linker in two. 2015-12-10 14:19:35 +00:00
IRMover.cpp Improve efficiency of handling unmapped subprogram metadata 2016-01-28 15:08:09 +00:00
LinkDiagnosticInfo.h Slit lib/Linker in two. 2015-12-10 14:19:35 +00:00
LinkModules.cpp [ThinLTO] Do metadata linking during batch function importing 2016-01-22 00:15:53 +00:00
LLVMBuild.txt