llvm-project/llvm/test
Simon Pilgrim 44a9a71d2a [TTI] Fix uses of SK_ExtractSubvector shuffle costs (PR39368)
Correct costings of SK_ExtractSubvector requires the SubTy argument to indicate the type/size of the extracted subvector.

Unlike the rest of the shuffle kinds this means that the main Ty argument represents the source vector type not the destination!

I've done my best to fix a number of vectorizer uses:

SLP - the reduction epilogue costs should be using a SK_PermuteSingleSrc shuffle as these all occur at the hardware vector width - we're not extracting (illegal) subvector types. This is causing the cost model diffs as SK_ExtractSubvector costs are poorly handled and tend to just return 1 at the moment.

LV - I'm not clear on what the SK_ExtractSubvector should represents for recurrences - I've used a <1 x ?> subvector extraction as that seems to match the VF delta.

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

llvm-svn: 345617
2018-10-30 18:10:02 +00:00
..
Analysis [TTI] Fix uses of SK_ExtractSubvector shuffle costs (PR39368) 2018-10-30 18:10:02 +00:00
Assembler Emit template type and value parameter DIEs for template variables. 2018-10-03 18:44:53 +00:00
Bindings [LLVM-C] Add more debug information accessors to GlobalObject and Instruction 2018-09-28 15:35:18 +00:00
Bitcode Fix some missing opcodes in bcanalyzer 2018-09-24 12:47:17 +00:00
BugPoint
CodeGen [SchedModel] Fix for read advance cycles with implicit pseudo operands. 2018-10-30 15:04:40 +00:00
DebugInfo [X86] Re-enable the machine verifier after fixing more tests 2018-10-30 12:20:17 +00:00
Demangle
Examples
ExecutionEngine [ORC] Re-apply r345077 with fixes to remove ambiguity in lookup calls. 2018-10-23 23:01:39 +00:00
Feature
FileCheck [SourceMgr][FileCheck] Obey -color by extending WithColor 2018-10-24 21:46:42 +00:00
Instrumentation Revert "[PassManager/Sanitizer] Enable usage of ported AddressSanitizer passes with -fsanitize=address" 2018-10-26 22:51:51 +00:00
Integer
JitListener
LTO Update test of r344198 to work with release builds. 2018-10-11 20:19:25 +00:00
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [FIX][AArch64] Add support for UDF instruction 2018-10-30 13:59:21 +00:00
Object AMDGPU: Enable code object v3 by default 2018-10-29 21:07:27 +00:00
ObjectYAML Make YAML quote forward slashes. 2018-10-12 16:31:20 +00:00
Other [hot-cold-split] Only perform splitting in ThinLTO backend post-link 2018-10-23 22:57:40 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
ThinLTO/X86 [X86] Re-enable the machine verifier after fixing more tests 2018-10-30 12:20:17 +00:00
Transforms [InstCombine] Add preliminary tests for nested min/max combines. NFC 2018-10-30 17:51:14 +00:00
Unit
Verifier [machineverifier] Detect PHI's that are preceeded by non-PHI's 2018-10-03 22:05:31 +00:00
YAMLParser
tools [llvm-objcopy] Fix --keep-global-symbol/--globalize-symbol for undefined symbols. 2018-10-30 16:23:38 +00:00
.clang-format
CMakeLists.txt Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
TestRunner.sh
lit.cfg.py Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
lit.site.cfg.py.in Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00