llvm-project/llvm/lib/Transforms/Vectorize
Mohammad Shahid bdac9f30c0 [SLP] Fixes the bug due to absence of in order uses of scalars which needs to be available
for VectorizeTree() API.This API uses it for proper mask computation to be used in shufflevector IR.
The fix is to compute the mask for out of order memory accesses while building the vectorizable tree
instead of actual vectorization of vectorizable tree.It also needs to recompute the proper Lane for
external use of vectorizable scalars based on shuffle mask.

Reviewers: mkuper

Differential Revision: https://reviews.llvm.org/D30159

Change-Id: Ide8773ce0ad3562f3cf4d1a0ad0f487e2f60ce5d
llvm-svn: 296863
2017-03-03 10:02:47 +00:00
..
BBVectorize.cpp IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags. 2016-09-07 23:39:04 +00:00
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
LLVMBuild.txt
LoadStoreVectorizer.cpp LoadStoreVectorizer: Split even sized illegal chains properly 2017-02-23 03:58:53 +00:00
LoopVectorize.cpp [LV] Considier non-consecutive but vectorizable accesses for VF selection 2017-03-02 13:55:05 +00:00
SLPVectorizer.cpp [SLP] Fixes the bug due to absence of in order uses of scalars which needs to be available 2017-03-03 10:02:47 +00:00
Vectorize.cpp Add LoadStoreVectorizer pass 2016-06-30 23:11:38 +00:00