llvm-6502/test
Andrea Di Biagio 029a76b0a2 [Vectorizer] Add a new 'OperandValueKind' in TargetTransformInfo called
'OK_NonUniformConstValue' to identify operands which are constants but
not constant splats.

The cost model now allows returning 'OK_NonUniformConstValue'
for non splat operands that are instances of ConstantVector or
ConstantDataVector.

With this change, targets are now able to compute different costs
for instructions with non-uniform constant operands.
For example, On X86 the cost of a vector shift may vary depending on whether
the second operand is a uniform or non-uniform constant.

This patch applies the following changes:
 - The cost model computation now takes into account non-uniform constants;
 - The cost of vector shift instructions has been improved in
   X86TargetTransformInfo analysis pass;
 - BBVectorize, SLPVectorizer and LoopVectorize now know how to distinguish
   between non-uniform and uniform constant operands.

Added a new test to verify that the output of opt
'-cost-model -analyze' is valid in the following configurations: SSE2,
SSE4.1, AVX, AVX2.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201272 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-12 23:43:47 +00:00
..
Analysis [Vectorizer] Add a new 'OperandValueKind' in TargetTransformInfo called 2014-02-12 23:43:47 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen [X86] Teach the backend how to lower vector shift left into multiply rather than scalarizing it. 2014-02-12 23:42:28 +00:00
DebugInfo DebugInfo: Demonstrate that we're not currently uniquing address table entries in fission 2014-02-12 23:03:54 +00:00
ExecutionEngine PC-rel implemented in AArch64, test now pass 2014-02-12 17:17:41 +00:00
Feature
FileCheck
Instrumentation [asan] support for FreeBSD, LLVM part. patch by Viktor Kutuzov 2014-02-10 07:37:04 +00:00
Integer
JitListener
Linker
LTO Don't internalize linkonce_odr non constant variables. 2014-02-07 19:04:43 +00:00
MC Tidy up a bit. Formatting only. 2014-02-11 20:48:41 +00:00
Object
Other
TableGen
tools
Transforms Revert r201237+r201238: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call 2014-02-12 15:39:20 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh