[PATCH] D26905: [SLP] Vectorize loads of consecutive memory accesses, accessed in non-consecutive (jumbled) way.

Shahid via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 21 01:27:37 PST 2016


ashahid created this revision.
ashahid added reviewers: mkuper, hfinkel, mssimpso.
ashahid added a subscriber: llvm-commits.
Herald added subscribers: mzolotukhin, sanjoy.

This patch improves the capability of SLPVectorizer pass to vectorize the loads of memory accesses in jumbled manner by using "load + shufflevector" IR instructions. The jumbled scalar loads will be sorted while building the tree and these accesses will be marked to generate "shufflevector" after the vectorized load with proper mask.


https://reviews.llvm.org/D26905

Files:
  include/llvm/Analysis/LoopAccessAnalysis.h
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Transforms/Vectorize/SLPVectorizer.cpp
  test/Transforms/SLPVectorizer/X86/jumbled-load.ll
  test/Transforms/SLPVectorizer/X86/reduction_loads.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26905.78690.patch
Type: text/x-patch
Size: 21196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161121/fad0c97b/attachment-0001.bin>


More information about the llvm-commits mailing list