llvm-project/llvm
Graham Hunter 957c40db6a Scalable Vector IR Type with further LTO fixes
Reintroduces the scalable vector IR type from D32530, after it was reverted
a couple of times due to increasing chromium LTO build times. This latest
incarnation removes the walk over aggregate types from the verifier entirely,
in favor of rejecting scalable vectors in the isValidElementType methods in
ArrayType and StructType. This removes the 70% degradation observed with
the second repro tarball from PR42210.

Reviewers: thakis, hans, rengolin, sdesmalen

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D64079

llvm-svn: 365203
2019-07-05 12:48:16 +00:00
..
benchmarks
bindings [IR/DIVar] Add the flag for params that have unmodified value 2019-06-26 11:19:26 +00:00
cmake [cmake] With utils disabled, don't build tblgen in cross mode 2019-07-01 23:15:07 +00:00
docs Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
examples
include Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
lib Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
projects
resources
runtimes
test Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
tools [llvm-objcopy] Allow strip symtab from executables and DSOs 2019-07-05 12:10:44 +00:00
unittests Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
utils gn build: Merge r365179 2019-07-05 11:34:48 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore gitignore: Ignore Qt Creator project configuration files. NFC 2019-06-12 08:28:31 +00:00
CMakeLists.txt build: extract LLVM distribution target handling 2019-06-14 18:28:57 +00:00
CODE_OWNERS.TXT Update email address in CODE_OWNERS 2019-07-01 16:01:15 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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.