llvm-project/clang
Wei Mi d535a05ca1 [ThinLTO] During module importing, close one source module before open
another one for distributed mode.

Currently during module importing, ThinLTO opens all the source modules,
collect functions to be imported and append them to the destination module,
then leave all the modules open through out the lto backend pipeline. This
patch refactors it in the way that one source module will be closed before
another source module is opened. All the source modules will be closed after
importing phase is done. It will save some amount of memory when there are
many source modules to be imported.

Note that this patch only changes the distributed thinlto mode. For in
process thinlto mode, one source module is shared acorss different thinlto
backend threads so it is not changed in this patch.

Differential Revision: https://reviews.llvm.org/D99554
2021-03-30 14:37:29 -07:00
..
INPUTS
bindings [NFC] Don't run python binding tests with sanitizers 2020-10-29 23:48:08 -07:00
cmake [CMake][Fuchsia] Include llvm-lipo 2021-03-24 14:21:40 -07:00
docs Update the documentation for recent changes to statement attributes. 2021-03-28 09:54:36 -04:00
examples Refactoring the attribute plugin example to fit the new API 2020-12-21 08:24:09 -05:00
include [OPENMP51]Initial support for the dispatch directive. 2021-03-30 14:12:53 -07:00
lib [ThinLTO] During module importing, close one source module before open 2021-03-30 14:37:29 -07:00
runtime [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`. 2021-03-10 09:42:24 -08:00
test [ThinLTO] During module importing, close one source module before open 2021-03-30 14:37:29 -07:00
tools [OPENMP51]Initial support for the dispatch directive. 2021-03-30 14:12:53 -07:00
unittests [clang-format] Fix east const pointer alignment of operators 2021-03-30 17:18:32 +02:00
utils [RISCV][Clang] Update new overloading rules for RVV intrinsics. 2021-03-28 09:04:35 -07:00
www [clang] [C++2b] [P1102] Accept lambdas without parameter list (). 2021-03-24 14:42:27 +01:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [clang][cli] Round-trip cc1 arguments in assert builds 2021-03-27 17:24:03 +01:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/