llvm-6502/test
Arnold Schwaighofer ae4e1a94e3 LoopVectorizer: Disallow reductions whose header phi is used outside the loop
If an outside loop user of the reduction value uses the header phi node we
cannot just reduce the vectorized phi value in the vector code epilog because
we would loose VF-1 reductions.

lp:
  p = phi (0, lv)
  lv = lv + 1
  ...
  brcond , lp, outside

outside:
  usr = add 0, p

(Say the loop iterates two times, the value of p coming out of the loop is one).

We cannot just transform this to:

vlp:
  p = phi (<0,0>, lv)
  lv = lv + <1,1>
  ..
  brcond , lp, outside

outside:
  p_reduced = p[0] + [1];
  usr = add 0, p_reduced

(Because the original loop iterated two times the vectorized loop would iterate
one time, but p_reduced ends up being zero instead of one).

We would have to execute VF-1 iterations in the scalar remainder loop in such
cases. For now, just disable vectorization.

PR16522

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186256 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-13 19:09:29 +00:00
..
Analysis Add the nearbyint -> FNEARBYINT mapping to BasicTargetTransformInfo 2013-07-08 03:24:07 +00:00
Assembler Fix test: It was missing run lines and llvm-dis has no -disable-verify option. 2013-07-03 16:27:55 +00:00
Bindings/Ocaml Fix %t typo in Ocaml bindings test. 2013-07-10 18:55:06 +00:00
Bitcode Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
BugPoint
CodeGen Convert a couple of grep tests to FileCheck. 2013-07-13 17:30:25 +00:00
DebugInfo In response to dblaikie's comment on r186035, replacing the 2013-07-11 21:16:14 +00:00
ExecutionEngine Enable mcjit tests on ppc64 when building with cmake. 2013-06-03 19:17:21 +00:00
Feature Add a new function attribute 'cold' to functions. 2013-05-24 12:26:52 +00:00
FileCheck Add new directive called CHECK-LABEL to FileCheck. 2013-07-12 14:51:05 +00:00
Instrumentation [msan] Unpoison stack allocations and undef values in blacklisted functions. 2013-07-03 14:39:14 +00:00
Integer
JitListener Add support for source and line information to IntelJITEventListener for object emitted by MCJIT. 2013-01-28 19:52:37 +00:00
Linker Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
MC Add support for Mips break and syscall insructions. The corresponding test cases are added. 2013-07-12 09:25:35 +00:00
Object Only verify the length in archive test, we can't make assumptions on the spacing. 2013-07-13 15:21:39 +00:00
Other Move r186044 tests into CodeGen/X86 2013-07-11 01:55:55 +00:00
TableGen
tools Revert: Fix wrong code offset for unwind code SET_FPREG. 2013-07-08 04:48:34 +00:00
Transforms LoopVectorizer: Disallow reductions whose header phi is used outside the loop 2013-07-13 19:09:29 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt llvm/test/CMakeLists.txt: Add llvm-cov in "check-clang". 2013-07-08 08:44:36 +00:00
lit.cfg Add the ability to use guarded malloc when running llvm lit tests. 2013-07-11 23:36:57 +00:00
lit.site.cfg.in Allow host triple to be correctly overridden in CMake builds 2013-05-04 07:36:23 +00:00
Makefile add polly to check-all 2013-05-20 18:49:15 +00:00
Makefile.tests Remove obsolete object file dumpers 2013-04-12 04:07:13 +00:00
TestRunner.sh