diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-08-26 22:33:26 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-08-26 22:33:26 +0000 |
commit | 4bf6326d0871961a7402c797a0399a2bdaf53574 (patch) | |
tree | ab31e87a17bcdc7dfaf8359ce931dfa0c88d5c41 /test/CodeGen/Inputs | |
parent | 03be5e5b6e2d604313df5b7758bffcf5b0bb0ef0 (diff) | |
download | external_llvm-4bf6326d0871961a7402c797a0399a2bdaf53574.zip external_llvm-4bf6326d0871961a7402c797a0399a2bdaf53574.tar.gz external_llvm-4bf6326d0871961a7402c797a0399a2bdaf53574.tar.bz2 |
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
Diffstat (limited to 'test/CodeGen/Inputs')
0 files changed, 0 insertions, 0 deletions