1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/lib
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
..
Analysis [SCEV] Fix usage of invalid IP with FoldingSet 2020-03-13 18:36:58 +02:00
AsmParser Add debug info support for Swift/Clang APINotes. 2020-03-11 18:47:30 -07:00
BinaryFormat [DebugInfo]: Added DWARFv5 macro header flags and corresponding helper 2020-03-07 17:53:01 +05:30
Bitcode Add debug info support for Swift/Clang APINotes. 2020-03-11 18:47:30 -07:00
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen [CodeGenPrepare] Expand freeze conversion to support fcmp and icmp with null 2020-03-13 17:21:33 +09:00
DebugInfo [CodeView] Align type records on 4-bytes when emitting PDBs 2020-03-13 12:22:19 -04:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
DWARFLinker [dsymutil] Fix template stripping in getDIENames(...) to account for overloaded operators 2020-03-04 14:54:31 -08:00
ExecutionEngine [ORC] Enable exception handling in JIT'd code when using LLJIT on Darwin. 2020-03-12 15:33:56 -07:00
Frontend [NFC] Revert unnecessary parts of b91c267380 2020-02-15 01:38:58 -06:00
Fuzzer
FuzzMutate
IR [AssumeBundles] filter usefull attriutes to preserve 2020-03-13 17:35:47 +01:00
IRReader
LineEditor
Linker IR Linking: Support merging Warning+Max module metadata flags 2020-02-07 16:29:58 -08:00
LTO [LTO] onfig::addSaveTemps: clear ResolutionFile upon an error 2020-03-02 17:49:04 -08:00
MC [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
MCA Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Object Drop a StringMap.h include, NFC 2020-03-11 15:45:34 -07:00
ObjectYAML [lib/ObjectYAML] - Make ELFYAML::Relocation::Offset optional. 2020-03-06 13:59:58 +03:00
Option
Passes Fixed [AssumeBundles] Move to IR so it can be used by Analysis 2020-03-10 18:02:39 +01:00
ProfileData [Coverage] Collect all function records in an object (D69471 followup) 2020-03-02 12:01:09 -08:00
Remarks Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Support [Clang][Driver] In -fintegrated-cc1 mode, avoid crashing on exit after a compiler crash 2020-03-13 08:15:35 -04:00
TableGen Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
Target Use 15 byte long nops on modern Intel processors 2020-03-13 10:51:09 -07:00
Testing
TextAPI [llvm][MachO] fix adding weak def syms 2020-03-02 17:00:24 -08:00
ToolDrivers
Transforms [SLPVectorizer][SVE] Bail out early for scalable vector. 2020-03-13 11:23:31 -07:00
WindowsManifest Try to fix WindowsManifest CMake logic on Windows 2020-02-28 17:24:03 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
LLVMBuild.txt