Support for ThinLTO function importing and symbol linking.
authorTeresa Johnson <tejohnson@google.com>
Mon, 2 Nov 2015 21:39:10 +0000 (21:39 +0000)
committerTeresa Johnson <tejohnson@google.com>
Mon, 2 Nov 2015 21:39:10 +0000 (21:39 +0000)
commit5aa157fab605b41262b7e32fad59110432b319fb
tree6427d56f53ddfe40e6f1b7c67f9c47ff4c5dd6f2
parent819908e85daddb0023ce90819812fa9d6f1d30f7
Support for ThinLTO function importing and symbol linking.

Summary:
Support for necessary linkage changes and symbol renaming during
ThinLTO function importing.

Also includes llvm-link support for manually importing functions
and associated llvm-link based tests.

Note that this does not include support for intelligently importing
metadata, which is currently imported duplicate times. That support will
be in the follow-on patch, and currently is ignored by the tests.

Reviewers: dexonsmith, joker.eph, davidxl

Subscribers: tobiasvk, tejohnson, llvm-commits

Differential Revision: http://reviews.llvm.org/D13515

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251837 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm/Bitcode/ReaderWriter.h
include/llvm/IR/FunctionInfo.h
include/llvm/Linker/Linker.h
include/llvm/Object/FunctionIndexObjectFile.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Linker/LinkModules.cpp
lib/Object/FunctionIndexObjectFile.cpp
lib/Transforms/IPO/ElimAvailExtern.cpp
test/Linker/Inputs/funcimport.ll [new file with mode: 0644]
test/Linker/funcimport.ll [new file with mode: 0644]
tools/llvm-link/CMakeLists.txt
tools/llvm-link/LLVMBuild.txt
tools/llvm-link/llvm-link.cpp