llvm-project/llvm
Benjamin Kramer c806d39182 [ADT] Split optional to only include copy mechanics and dtor for non-trivial types.
This makes uses of Optional more transparent to the compiler (and
clang-tidy) and generates slightly smaller code.

This is a re-land of r317019, which had issues with GCC 4.8 back then.
Those issues don't reproduce anymore, but I'll watch the buildbots
closely in case anything goes wrong.

llvm-svn: 322838
2018-01-18 11:26:24 +00:00
..
bindings [bindings/go] fix vet errors 2017-12-28 04:10:09 +00:00
cmake [CMake] Add LLVM_ENABLE_IDE option to better process sources for IDE's 2018-01-12 04:01:41 +00:00
docs [LangRef] Clarify Varargs forwarding for musttail calls. 2018-01-17 23:29:25 +00:00
examples PR35705: Fix Chapter 9 example code for API changes to DIBuilder 2017-12-20 19:36:54 +00:00
include [ADT] Split optional to only include copy mechanics and dtor for non-trivial types. 2018-01-18 11:26:24 +00:00
lib [SelectionDAG] Convert assert to condtion 2018-01-18 09:22:24 +00:00
projects [cmake] Support moving debuginfo-tests to llvm/projects 2017-12-12 17:06:08 +00:00
resources
runtimes [CMake] Support for cross-compilation when build runtimes 2018-01-08 23:50:59 +00:00
test A new test to demostrate the current SHLD/SHRD code generation. 2018-01-18 10:40:48 +00:00
tools [WebAssembly] Remove debug names from symbol table 2018-01-17 19:28:43 +00:00
unittests [ADT] Split optional to only include copy mechanics and dtor for non-trivial types. 2018-01-18 11:26:24 +00:00
utils [globalisel][tablegen] Honour priority order within nested instructions. 2018-01-17 20:34:29 +00:00
.arcconfig [llvm] Set up .arcconfig to point to Diffusion L repository 2018-01-12 15:37:41 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt The trunk version is now 7.0.0svn 2018-01-03 14:52:54 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.