llvm/lib
Arnold Schwaighofer ee3f7de62e LoopVectorizer: Handle strided memory accesses by versioning
for (i = 0; i < N; ++i)
   A[i * Stride1] += B[i * Stride2];

We take loops like this and check that the symbolic strides 'Strided1/2' are one
and drop to the scalar loop if they are not.

This is currently disabled by default and hidden behind the flag
'enable-mem-access-versioning'.

radar://13075509

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198950 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-10 18:20:32 +00:00
..
Analysis Fixed old typo in ScalarEvolution, that caused wrong SCEVs zext operation. 2014-01-09 12:26:12 +00:00
AsmParser Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Bitcode Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
CodeGen Revert "Revert r198851, "Prototype of skeleton type units for fission"" 2014-01-10 01:38:41 +00:00
DebugInfo llvm-dwarfdump: type unit dwo support 2014-01-09 05:08:24 +00:00
ExecutionEngine Re-apply r196639: Add support for archives and object file caching under MCJIT. 2014-01-08 04:09:09 +00:00
IR Use 'w' instead of 'c' to represent the win32 mangling. 2014-01-10 13:42:12 +00:00
IRReader Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Linker Revert "Move copying of global initializers below the cloning of functions." 2013-11-09 00:43:18 +00:00
LTO Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
MC Revert "Revert r198851, "Prototype of skeleton type units for fission"" 2014-01-10 01:38:41 +00:00
Object Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support Try to fix the windows build. The comments in other files don't seem to 2014-01-07 12:37:13 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target Must not produce Tag_CPU_arch_profile for pre-ARMv7 cores (e.g. cortex-m0) 2014-01-10 16:42:55 +00:00
Transforms LoopVectorizer: Handle strided memory accesses by versioning 2014-01-10 18:20:32 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00