OSDN Git Service

libLTO: add a ThinLTOCodeGenerator on the model of LTOCodeGenerator.
authorMehdi Amini <mehdi.amini@apple.com>
Wed, 9 Mar 2016 01:37:22 +0000 (01:37 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Wed, 9 Mar 2016 01:37:22 +0000 (01:37 +0000)
commit73cf01b19365604fd2f835379e4b5afb7ef02db6
treeb344bebf2bad2e77e638b543b580f428ef844bcc
parentec57137c985ab7da95b16d32b3ed0c65e99140b4
libLTO: add a ThinLTOCodeGenerator on the model of LTOCodeGenerator.

This is intended to provide a parallel (threaded) ThinLTO scheme
for linker plugin use through the libLTO C API.

The intent of this patch is to provide a first implementation as a
proof-of-concept and allows linker to start supporting ThinLTO by
definiing the libLTO C API. Some part of the libLTO API are left
unimplemented yet. Following patches will add support for these.

The current implementation can link all clang/llvm binaries.

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

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262977 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm-c/lto.h
include/llvm/ADT/STLExtras.h
include/llvm/LTO/LTOModule.h
include/llvm/LTO/ThinLTOCodeGenerator.h [new file with mode: 0644]
lib/LTO/CMakeLists.txt
lib/LTO/LLVMBuild.txt
lib/LTO/LTOModule.cpp
lib/LTO/ThinLTOCodeGenerator.cpp [new file with mode: 0644]
test/ThinLTO/Inputs/funcimport.ll [new file with mode: 0644]
test/ThinLTO/funcimport.ll [new file with mode: 0644]
tools/llvm-lto/llvm-lto.cpp
tools/lto/lto.cpp
tools/lto/lto.exports