[PATCH] D12765: Allow vectorization of loops with induction post-inc expressions

Jakub Kuderski via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 10 08:59:13 PDT 2015


kuhar created this revision.
kuhar added a subscriber: llvm-commits.
kuhar set the repository for this revision to rL LLVM.

This patch teaches the LoopVectorizer not to bailout on loops with induction post-inc expressions.
Example:
```
for (int i = x; i < n; ++i) *ptr++ = *p++;
puts(ptr); // outside use
```
Previously the vectorizer wasn't able to vectorize similar code.

Repository:
  rL LLVM

http://reviews.llvm.org/D12765

Files:
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Transforms/Utils/LoopUtils.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/post-incs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12765.34450.patch
Type: text/x-patch
Size: 14811 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150910/c31f0c5e/attachment.bin>


More information about the llvm-commits mailing list