llvm-6502/test/Transforms/LoopVectorize
Sanjay Patel 73f8eff19e Add a convenience method to copy wrapping, exact, and fast-math flags (NFC).
The loop vectorizer preserves wrapping, exact, and fast-math properties of scalar instructions.
This patch adds a convenience method to make that operation easier because we need to do this
in the loop vectorizer, SLP vectorizer, and possibly other places.

Although this is a 'no functional change' patch, I've added a testcase to verify that the exact
flag is preserved by the loop vectorizer. The wrapping and fast-math flags are already checked
in existing testcases.

Differential Revision: http://reviews.llvm.org/D5138



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216886 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-01 18:44:57 +00:00
..
AArch64 Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
ARM Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
PowerPC Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
X86 Allow vectorization of division by uniform power of 2. 2014-08-25 04:56:54 +00:00
XCore Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll
align.ll LoopVectorizer: Use abi alignment for accesses with no alignment 2013-11-15 23:09:33 +00:00
bsd_regex.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
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 Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
debugloc.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
duplicated-metadata.ll Small refactor on VectorizerHint for deduplication 2014-09-01 10:00:17 +00:00
ee-crash.ll LoopVectorizer: Don't attempt to vectorize extractelement instructions 2013-10-25 20:40:15 +00:00
exact.ll Add a convenience method to copy wrapping, exact, and fast-math flags (NFC). 2014-09-01 18:44:57 +00:00
flags.ll LoopVectorizer: Preserve fast-math flags 2014-03-05 21:10:47 +00:00
float-reduction.ll [LoopVectorizer] Enable support for floating-point subtraction reductions 2014-08-08 12:41:08 +00:00
funcall.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
gcc-examples.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
global_alias.ll InstCombine: Teach most integer add/sub/mul/div combines how to deal with vectors. 2014-01-19 15:24:22 +00:00
hoist-loads.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
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 LoopVectorizer: Keep track of conditional store basic blocks 2014-02-08 20:41:13 +00:00
increment.ll Correct word hyphenations 2013-12-05 05:44:44 +00:00
induction_plus.ll LoopVectorizer: Perform redundancy elimination on induction variables 2013-11-01 22:18:19 +00:00
induction.ll LoopVectorizer: Fix a dominance issue 2014-06-22 03:38:59 +00:00
infiniteloop.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
intrinsic.ll Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer. 2014-05-30 04:31:24 +00:00
lcssa-crash.ll
lifetime.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
memdep.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
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 Scalarize select vector arguments when extracted. 2013-11-04 20:36:06 +00:00
multi-use-reduction-bug.ll LoopVectorizer: A reduction that has multiple uses of the reduction value is not 2014-01-19 03:18:31 +00:00
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 Teach LoopVectorize about address space sizes 2013-08-22 02:42:55 +00:00
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 opt: Mirror vectorization presets of clang 2013-12-03 16:33:06 +00:00
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 LoopVectorize: External uses must use the last value in a reduction cycle 2013-10-07 21:05:43 +00:00
reverse_induction.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
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 Don't use runtime bounds check between address spaces. 2013-10-02 22:38:17 +00:00
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 LoopVectorizer: If dependency checks fail try runtime checks 2013-11-01 03:05:07 +00:00
runtime-limit.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
safegep.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
same-base-access.ll
scalar-select.ll
scev-exitlim-crash.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
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 LoopVectorize: Look for consecutive acces in GEPs with trailing zero indices 2013-11-01 14:09:50 +00:00
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 [vectorizer] Add an override for the target instruction cost and use it 2014-01-27 11:41:50 +00:00
value-ptr-bug.ll Fix known typos 2014-01-24 17:20:08 +00:00
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 [CLNUP] Test commit. Remove newline. 2014-04-24 08:42:58 +00:00
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 LoopVectorize: Only strip casts from integer types when replacing symbolic 2014-01-15 03:35:46 +00:00
write-only.ll