TransformUtils: Introduce module splitter.
authorPeter Collingbourne <peter@pcc.me.uk>
Fri, 21 Aug 2015 02:48:20 +0000 (02:48 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Fri, 21 Aug 2015 02:48:20 +0000 (02:48 +0000)
commitc1e784cb78d115ed9dcfcfc90900c5f698c12370
treeff67680e4805efbe6d782c56eb16578a819e9322
parent81fc7b208f1f145193976d1457e5b59ebf8a8455
TransformUtils: Introduce module splitter.

The module splitter splits a module into linkable partitions. It will
be used to implement parallel LTO code generation.

This initial version of the splitter does not attempt to deal with the
somewhat subtle symbol visibility issues around module splitting. These
will be dealt with in a future change.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245662 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
include/llvm/Transforms/Utils/Cloning.h
include/llvm/Transforms/Utils/SplitModule.h [new file with mode: 0644]
lib/Transforms/Utils/CMakeLists.txt
lib/Transforms/Utils/CloneModule.cpp
lib/Transforms/Utils/SplitModule.cpp [new file with mode: 0644]
test/CMakeLists.txt
test/lit.cfg
test/tools/llvm-split/alias.ll [new file with mode: 0644]
test/tools/llvm-split/comdat.ll [new file with mode: 0644]
test/tools/llvm-split/function.ll [new file with mode: 0644]
test/tools/llvm-split/global.ll [new file with mode: 0644]
test/tools/llvm-split/internal.ll [new file with mode: 0644]
test/tools/llvm-split/unnamed.ll [new file with mode: 0644]
tools/LLVMBuild.txt
tools/Makefile
tools/llvm-split/CMakeLists.txt [new file with mode: 0644]
tools/llvm-split/LLVMBuild.txt [new file with mode: 0644]
tools/llvm-split/Makefile [new file with mode: 0644]
tools/llvm-split/llvm-split.cpp [new file with mode: 0644]