[PATCH] D22869: [LV] Generate both scalar and vector integer induction variables

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 27 08:30:31 PDT 2016


mssimpso created this revision.
mssimpso added reviewers: anemet, mkuper.
mssimpso added subscribers: llvm-commits, mcrosier.
Herald added a subscriber: mzolotukhin.

This patch enables the vectorizer to generate both scalar and vector versions of an integer induction variable for a given loop. If all users of an induction variable will be scalarized, we generate a scalar induction variable. Conversely, if all users will be vectorized, we generate a vector induction variable. If an induction variable has a mix of scalarized and vectorized users, we generate both versions.

https://reviews.llvm.org/D22869

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/X86/scatter_crash.ll
  test/Transforms/LoopVectorize/induction.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22869.65746.patch
Type: text/x-patch
Size: 25692 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160727/0581e233/attachment.bin>


More information about the llvm-commits mailing list