[PATCH] D21048: [LV] Enable vectorization of loops where the IV has an external use

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 6 17:32:57 PDT 2016


mkuper created this revision.
mkuper added reviewers: delena, hfinkel, jmolloy, wmi, mssimpso.
mkuper added subscribers: nadav, danielcdh, davidxl, llvm-commits.
Herald added a subscriber: mzolotukhin.

Vectorizing loops with "escaping" IVs has been disabled since it was discovered to not work correctly (PR17179).
This patch re-enables it, with support for external use of both "pre-increment" and "post-increment" (that is, last and second-to-last iteration) IVs.

http://reviews.llvm.org/D21048

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/iv_outside_user.ll
  test/Transforms/LoopVectorize/no_outside_user.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21048.59811.patch
Type: text/x-patch
Size: 10484 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160607/be86265f/attachment.bin>


More information about the llvm-commits mailing list