llvm-project/llvm/test
Kerry McLaughlin a7512401e5 [LV] Prevent vectorization with unsupported element types.
This patch adds a TTI function, isElementTypeLegalForScalableVector, to query
whether it is possible to vectorize a given element type. This is called by
isLegalToVectorizeInstTypesForScalable to reject scalable vectorization if
any of the instruction types in the loop are unsupported, e.g:

  int foo(__int128_t* ptr, int N)
    #pragma clang loop vectorize_width(4, scalable)
    for (int i=0; i<N; ++i)
      ptr[i] = ptr[i] + 42;

This example currently crashes if we attempt to vectorize since i128 is not a
supported type for scalable vectorization.

Reviewed By: sdesmalen, david-arm

Differential Revision: https://reviews.llvm.org/D102253
2021-07-06 13:06:21 +01:00
..
Analysis [AArch64][CostModel] Add cost model for experimental.vector.splice 2021-07-05 14:30:24 +01:00
Assembler Revert "[DebugInfo] Enforce implicit constraints on `distinct` MDNodes" 2021-07-02 15:57:07 -07:00
Bindings
Bitcode Revert "[DebugInfo] Enforce implicit constraints on `distinct` MDNodes" 2021-07-02 15:57:07 -07:00
BugPoint
CodeGen [CodeGen][AArch64][SVE] Use ld1r[bhsd] for vector splat from memory 2021-07-06 12:03:54 +00:00
DebugInfo [DebugInfo] CGP+HWasan: Handle dbg.values with duplicate location ops 2021-07-05 10:35:19 +01:00
Demangle [Demangle][Rust] Parse dot suffix 2021-06-18 09:29:45 +02:00
Examples [Orc] At CBindings for LazyRexports 2021-07-01 21:52:05 +02:00
ExecutionEngine [JITLink][ELF] Move ELF section and symbol parsing into ELFLinkGraphBuilder. 2021-06-29 09:59:49 +10:00
Feature
FileCheck
Instrumentation [DebugInfo] CGP+HWasan: Handle dbg.values with duplicate location ops 2021-07-05 10:35:19 +01:00
Integer
JitListener
LTO LTO: Export functions referenced by non-canonical CFI jump tables 2021-06-08 14:57:43 -07:00
Linker [IR] convert warn-stack-size from module flag to fn attr 2021-06-21 15:09:25 -07:00
MC [MCParser][z/OS] Mark a few tests as unsupported for the z/OS Target 2021-07-05 11:06:52 -04:00
MachineVerifier CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
Object [AMDGPU] Add gfx1035 target 2021-06-24 14:32:41 -04:00
ObjectYAML [WebAssembly] Rename event to tag 2021-06-17 20:34:19 -07:00
Other [OpaquePtr] Support opaque pointers in intrinsic type check 2021-07-01 18:26:41 +02:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Allow identical MnemonicAliases with no predicate 2021-06-30 10:53:39 +01:00
ThinLTO/X86 [ThinLTO] Respect ClearDSOLocalOnDeclarations for unimported functions 2021-07-02 17:08:25 -07:00
Transforms [LV] Prevent vectorization with unsupported element types. 2021-07-06 13:06:21 +01:00
Unit
Verifier [OpaquePtr] Support VecOfAnyPtrsToElt intrinsics 2021-07-01 20:35:33 +02:00
YAMLParser
tools [llvm-strings] Switch command line parsing from llvm::cl to OptTable 2021-07-05 10:46:17 -07:00
.clang-format
CMakeLists.txt [Orc] At CBindings for LazyRexports 2021-07-01 21:52:05 +02:00
TestRunner.sh
lit.cfg.py [Orc] At CBindings for LazyRexports 2021-07-01 21:52:05 +02:00
lit.site.cfg.py.in Make lit configs relocatable again after c747b7d1d9 2021-06-22 15:27:32 -04:00