llvm-6502/test/Transforms/LoopVectorize
Karthik Bhat e637d65af3 Allow vectorization of division by uniform power of 2.
This patch adds support to recognize division by uniform power of 2 and modifies the cost table to vectorize division by uniform power of 2 whenever possible.
Updates Cost model for Loop and SLP Vectorizer.The cost table is currently only updated for X86 backend.
Thanks to Hal, Andrea, Sanjay for the review. (http://reviews.llvm.org/D4971)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216371 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-25 04:56:54 +00:00
..
AArch64
ARM
PowerPC
X86 Allow vectorization of division by uniform power of 2. 2014-08-25 04:56:54 +00:00
XCore
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll
align.ll
bsd_regex.ll
bzip_reverse_loops.ll
calloc.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
cast-induction.ll
conditional-assignment.ll Add diagnostics to the vectorizer cost model. 2014-08-02 00:14:03 +00:00
control-flow.ll Improve the remark generated for -Rpass-missed. 2014-07-31 21:22:22 +00:00
cpp-new-array.ll
dbg.value.ll
debugloc.ll
ee-crash.ll
flags.ll
float-reduction.ll [LoopVectorizer] Enable support for floating-point subtraction reductions 2014-08-08 12:41:08 +00:00
funcall.ll
gcc-examples.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
global_alias.ll
hoist-loads.ll
i8-induction.ll
if-conv-crash.ll
if-conversion-edgemasks.ll
if-conversion-nest.ll
if-conversion-reduction.ll
if-conversion.ll IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
if-pred-stores.ll
increment.ll
induction_plus.ll
induction.ll
infiniteloop.ll
intrinsic.ll
lcssa-crash.ll
lifetime.ll
memdep.ll
metadata-unroll.ll Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
metadata-width.ll Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
metadata.ll [LoopVectorize] Propagate known metadata to vectorized instructions 2014-07-19 13:33:16 +00:00
minmax_reduction.ll
multi-use-reduction-bug.ll
multiple-address-spaces.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
no_array_bounds.ll Emit warnings if vectorization is forced and fails. 2014-07-16 00:36:00 +00:00
no_idiv_reduction.ll
no_int_induction.ll
no_outside_user.ll Improve the remark generated when a variable that is used outside the loop is not a reduction or induction variable. 2014-07-31 21:02:40 +00:00
no_switch.ll Improve the remark generated for -Rpass-missed. 2014-07-31 21:22:22 +00:00
nofloat.ll
non-const-n.ll
nsw-crash.ll
opt.ll
phi-hang.ll
ptr_loops.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
read-only.ll
reduction.ll
reverse_induction.ll
reverse_iter.ll
runtime-check-address-space.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
runtime-check-readonly-address-space.ll
runtime-check-readonly.ll When we sink an instruction, this can open up opportunity for the operands to be sunk - add them to the worklist 2014-07-11 21:49:39 +00:00
runtime-check.ll
runtime-limit.ll
safegep.ll
same-base-access.ll
scalar-select.ll
scev-exitlim-crash.ll
simple-unroll.ll
small-loop.ll
start-non-zero.ll
store-shuffle-bug.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
struct_access.ll
tbaa-nodep.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
undef-inst-bug.ll
unroll_novec.ll
value-ptr-bug.ll
vect.omp.persistence.ll Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
vect.stats.ll
vectorize-once.ll Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
version-mem-access.ll
write-only.ll