1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00
Go to file
Huihui Zhang b15e0eb9ad [SLPVectorizer][SVE] Bail out early for scalable vector.
Summary:
SLPVectorizer try to vectorize list of scalar instructions of the same type,
instructions already vectorized are rejected through isValidElementType().

Without this patch, tryToVectorizeList() will first try to determine vectorization
factor of a list of Instructions before checking whether each instruction has unsupported
type or not. For instructions already vectorized for SVE, it will crash at getVectorElementSize(),
where it try to return a fixed size.

This patch make sure invalid element types are rejected before trying to get vectorization
factor. This make sure we are not trying to vectorize instructions already vectorized.

Reviewers: sdesmalen, efriedma, spatel, RKSimon, ABataev, apazos, rengolin

Reviewed By: efriedma

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76017
2020-03-13 11:23:31 -07:00
benchmarks
bindings Add an SDK attribute to DICompileUnit 2020-03-11 14:14:06 -07:00
cmake [clang][cmake] Include generated rst files in html built by docs-clang-html target 2020-03-05 21:30:37 -08:00
docs Add support for SHA256 source file checksums in debug info 2020-03-12 16:32:05 -07:00
examples Add missing "llvm/Support/Host.h" header to LLVM example after recent header trimming (NFC) 2020-03-12 00:12:03 +00:00
include [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
lib [SLPVectorizer][SVE] Bail out early for scalable vector. 2020-03-13 11:23:31 -07:00
projects
resources
runtimes [runtimes] When COMPILER_RT is enabled, consider SANITIZER prefixes 2020-03-11 14:22:20 -07:00
test [SLPVectorizer][SVE] Bail out early for scalable vector. 2020-03-13 11:23:31 -07:00
tools [llvm-objdump] --syms: print 'u' for STB_GNU_UNIQUE 2020-03-13 08:04:09 -07:00
unittests [AssumeBundles] filter usefull attriutes to preserve 2020-03-13 17:35:47 +01:00
utils [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
.clang-format
.clang-tidy - Update .clang-tidy to ignore parameters of main like functions for naming violations in clang and llvm directory 2020-01-31 16:49:45 +00:00
.gitattributes
.gitignore Continue removing llgo. 2020-02-10 10:33:58 -08:00
CMakeLists.txt [AVR] Include AVR by default in LLVM builds 2020-03-13 17:40:30 +13:00
CODE_OWNERS.TXT Remove myself from CODE_OWNERS. 2020-02-25 11:59:29 +00:00
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.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.