summaryrefslogtreecommitdiff
path: root/test/Assembler
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-08-26 22:33:26 +0000
committerNadav Rotem <nrotem@apple.com>2013-08-26 22:33:26 +0000
commit4bf6326d0871961a7402c797a0399a2bdaf53574 (patch)
treeab31e87a17bcdc7dfaf8359ce931dfa0c88d5c41 /test/Assembler
parent03be5e5b6e2d604313df5b7758bffcf5b0bb0ef0 (diff)
downloadllvm-4bf6326d0871961a7402c797a0399a2bdaf53574.tar.gz
llvm-4bf6326d0871961a7402c797a0399a2bdaf53574.tar.bz2
llvm-4bf6326d0871961a7402c797a0399a2bdaf53574.tar.xz
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/Assembler')
0 files changed, 0 insertions, 0 deletions