llvm-project/llvm
Peter Collingbourne c269ed5115 CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it.
llvm::splitCodeGen is a function that implements the core of parallel LTO
code generation. It uses llvm::SplitModule to split the module into linkable
partitions and spawning one code generation thread per partition. The function
produces multiple object files which can be linked in the usual way.

This has been threaded through to LTOCodeGenerator (and llvm-lto for testing
purposes). Separate patches will add parallel LTO support to the gold plugin
and lld.

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

llvm-svn: 246236
2015-08-27 23:37:36 +00:00
..
autoconf Add an exposed variable for which c++ compiler we're using for our 2015-08-17 22:46:26 +00:00
bindings [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
cmake [CMake] OBJLIB-ize *-tblgen. 2015-08-27 16:10:47 +00:00
docs Recommit r246175 - Add Kaleidoscope regression tests, with a fix to make sure 2015-08-27 20:31:44 +00:00
examples Recommit r246175 - Add Kaleidoscope regression tests, with a fix to make sure 2015-08-27 20:31:44 +00:00
include CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
lib CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
projects
resources
test CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
tools CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
unittests Add a global mapping layer for Orc. Adapted from a patch by Andy Somogyi. 2015-08-27 22:20:05 +00:00
utils [TableGen][DAGISel] Dedup predicates with same code to run. NFCI. 2015-08-27 20:43:34 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt [lit] Don't disable the lit progress bar by default with MSVC 2015-08-11 21:24:59 +00:00
CODE_OWNERS.TXT Add myself as the InstCombine owner. 2015-08-12 22:30:45 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in We're actually -Wmissing-field-initializers clean thanks to the cmake 2015-08-07 16:44:47 +00:00
Makefile.rules We're actually -Wmissing-field-initializers clean thanks to the cmake 2015-08-07 16:44:47 +00:00
README.txt
configure Add an exposed variable for which c++ compiler we're using for our 2015-08-17 22:46:26 +00:00
llvm.spec.in [Sparc] Implement i64 load/store support for 32-bit sparc. 2015-08-10 19:11:39 +00:00

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.