llvm-6502/lib
Arnold Schwaighofer 074e489dbc SLPVectorizer: Handle more horizontal reductions (disabled)
Match reductions starting at binary operation feeding into a phi. The code
handles trees like

 r += v1 + v2 + v3 ...

and

 r += v1
 r += v2
 ...

and

 r *= v1 + v2 + ...

We currently only handle associative operations (add, fadd fast).

The code can now also handle reductions feeding into stores.

 a[i] = v1 + v2 + v3 + ...

The code is currently disabled behind the flag "-slp-vectorize-hor".  The cost
model for most architectures is not there yet.

I found one opportunity of a horizontal reduction feeding a phi in TSVC
(LoopRerolling-flt) and there are several opportunities where reductions feed
into stores.

radar://14607682

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191108 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-20 21:18:20 +00:00
..
Analysis Fix a constant folding address space place I missed. 2013-09-17 23:23:16 +00:00
AsmParser Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
Bitcode Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
CodeGen Allow subtarget selection of the default MachineScheduler and document the interface. 2013-09-20 05:14:41 +00:00
DebugInfo Revert r191062; the build break was also fixed in a different (incompatible) way in r191060. 2013-09-20 01:24:10 +00:00
ExecutionEngine Revert "llvm-c: Add LLVMGetPointerToFunction" 2013-09-20 07:00:36 +00:00
IR Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
MC Added support for generate DWARF .debug_aranges sections automatically. 2013-09-19 23:21:01 +00:00
Object ELF: Add support for the exclude section bit for gas compat. 2013-09-15 19:53:20 +00:00
Option Fix another mistake in r190442. 2013-09-10 23:22:56 +00:00
Support DebugInfo: GDBIndexEntry*String conversion functions now return const char* for easy llvm::formating 2013-09-20 00:33:15 +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 Lift alignment restrictions on load/store folding of VEXTRACTI128/VINSERTI128. 2013-09-20 05:37:49 +00:00
Transforms SLPVectorizer: Handle more horizontal reductions (disabled) 2013-09-20 21:18:20 +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