llvm/test/Transforms/LoopIdiom
Chad Rosier 2588aa9425 [LIR] Add support for creating memcpys from loops with a negative stride.
This allows us to transform the below loop into a memcpy.

void test(unsigned *__restrict__ a, unsigned *__restrict__ b) {
  for (int i = 2047; i >= 0; --i) {
    a[i] = b[i];
  }
}

This is the memcpy version of r251518, which added support for memset with
negative strided loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253091 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-13 21:51:02 +00:00
..
AMDGPU AMDGPU: Fix some places missed in rename 2015-06-19 17:39:03 +00:00
X86
basic-address-space.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
basic.ll [LIR] Add support for creating memcpys from loops with a negative stride. 2015-11-13 21:51:02 +00:00
crash.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
ctpop-multiple-users-crash.ll Remove unnecessary lines from the test in r242068. 2015-07-13 21:50:35 +00:00
debug-line.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
memset_noidiom.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
non-canonical-loop.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
scev-invalidation.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00