llvm-6502/lib
Nadav Rotem 4bf6326d08 LoopVectorize: Implement partial loop unrolling when vectorization is not profitable.
This patch enables unrolling of loops when vectorization is legal but not profitable.
We add a new class InnerLoopUnroller, that extends InnerLoopVectorizer and replaces some of the vector-specific logic with scalars.

This patch does not introduce any runtime regressions and improves the following workloads:

SingleSource/Benchmarks/Shootout/matrix -22.64%
SingleSource/Benchmarks/Shootout-C++/matrix -13.06%
External/SPEC/CINT2006/464_h264ref/464_h264ref  -3.99%
SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding -1.95%



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189281 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-26 22:33:26 +00:00
..
Analysis Remove trailing spaces. 2013-08-24 14:16:00 +00:00
AsmParser Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
Bitcode Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
CodeGen Fix thinko. 2013-08-26 20:58:35 +00:00
DebugInfo Make DWARFCompileUnit non-copyable 2013-08-23 06:56:01 +00:00
ExecutionEngine Reorder headers according to lint. 2013-08-21 21:14:19 +00:00
IR Fix a bug where we would corrupt the offset when evaluating 2013-08-25 10:46:39 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
MC MC CFG: Remap enough for data too, analoguous to r188873. 2013-08-21 19:40:28 +00:00
Object Move #includes from .h to .cpp file. 2013-08-21 01:20:11 +00:00
Option Options: explicit handling of -- 2013-08-13 22:23:05 +00:00
Support Added const qualifier to StringRef::edit_distance member function 2013-08-24 01:50:41 +00:00
TableGen Add an error check for a typo I accidentally made in a td file that caused an assert to fire. 2013-08-20 04:22:09 +00:00
Target ARM: Constrain regclass for TSTri instruction. 2013-08-26 20:22:05 +00:00
Transforms LoopVectorize: Implement partial loop unrolling when vectorization is not profitable. 2013-08-26 22:33:26 +00:00
CMakeLists.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
LLVMBuild.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
Makefile Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00