llvm-6502/test/Transforms/LoopVectorize
Duncan Sands 2333e29be4 Relax the restrictions on vector of pointer types, and vector getelementptr.
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type.  This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever.  Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types.  This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167828 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-13 12:59:33 +00:00
..
X86 Cost Model: add tables for some avx type-conversion hacks. 2012-11-06 19:33:53 +00:00
2012-10-20-infloop.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
2012-10-22-isconsec.ll Move the target-specific tests, which require specific backends, to dirs that only run if the target is present. 2012-10-26 18:52:01 +00:00
cpp-new-array.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
flags.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
gcc-examples.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
increment.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
induction_plus.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
lit.local.cfg
non-const-n.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
read-only.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
reduction.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
runtime-check.ll Add support for memory runtime check. When we can, we calculate array bounds. 2012-11-09 07:09:44 +00:00
scalar-select.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
small-loop.ll LoopVectorize: Do not vectorize loops with tiny constant trip counts. 2012-10-31 03:31:07 +00:00
start-non-zero.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
write-only.ll LoopVectorize: Add support for write-only loops when the write destination is a single pointer. 2012-10-30 18:36:45 +00:00