llvm-project/llvm/test/Transforms/LoopVectorize/X86
Chandler Carruth c12224cb93 [vectorizer] Tweak the way we do small loop runtime unrolling in the
loop vectorizer to not do so when runtime pointer checks are needed and
share code with the new (not yet enabled) load/store saturation runtime
unrolling. Also ensure that we only consider the runtime checks when the
loop hasn't already been vectorized. If it has, the runtime check cost
has already been paid.

I've fleshed out a test case to cover the scalar unrolling as well as
the vector unrolling and comment clearly why we are or aren't following
the pattern.

llvm-svn: 200530
2014-01-31 10:51:08 +00:00
..
already-vectorized.ll Fix broken builds by moving test to x86 dir 2013-10-24 15:11:03 +00:00
avx1.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
constant-vector-operand.ll LoopVectorizer: Bail out if we don't have datalayout we need it 2013-04-24 16:15:58 +00:00
conversion-cost.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
cost-model.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
gather-cost.ll X86 cost model: Add cost for vectorized gather/scather 2013-07-12 19:16:07 +00:00
gcc-examples.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
illegal-parallel-loop-uniform-write.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
metadata-enable.ll force vector width via cpu on vectorizer metadata enable 2013-12-07 21:46:08 +00:00
min-trip-count-switch.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
no-vector.ll Make TargetLowering::getTypeConversion more resilient against odd illegal MVTs. 2012-12-19 14:34:28 +00:00
parallel-loops-after-reg2mem.ll Add support for llvm.vectorizer metadata 2013-05-28 20:00:34 +00:00
parallel-loops.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
rauw-bug.ll SLPVectorizer: Fix stale for Value pointer array 2013-11-19 22:20:20 +00:00
reduction-crash.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
small-size.ll [vectorizer] Completely disable the block frequency guidance of the loop 2014-01-28 09:10:41 +00:00
struct-store.ll Fix typo "Makre" -> "Make". 2012-12-24 19:55:47 +00:00
tripcount.ll LoopVectorizer: Truncate i64 trip counts of i32 phis if necessary 2013-11-26 22:11:23 +00:00
unroll-pm.ll Disable unrolling in the loop vectorizer when disabled in the pass manager 2013-08-28 18:33:10 +00:00
unroll-small-loops.ll [vectorizer] Tweak the way we do small loop runtime unrolling in the 2014-01-31 10:51:08 +00:00
unroll_selection.ll LoopVectorizer: Implement a new heuristics for selecting the unroll factor. 2013-01-20 05:24:29 +00:00
vector-scalar-select-cost.ll LoopVectorizer: Insert some white space to make test case more readable 2013-03-14 21:31:09 +00:00
vector_ptr_load_store.ll Formatting. 2013-02-05 15:32:16 +00:00
x86_fp80-vector-store.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00