Go to file
Mohammad Shahid 2b281de576 [SLP] Vectorize jumbled memory loads.
Summary:
This patch tries to vectorize loads of consecutive memory accesses, accessed
in non-consecutive or jumbled way. An earlier attempt was made with patch D26905
which was reverted back due to some basic issue with representing the 'use mask'
jumbled accesses.

This patch fixes the mask representation by recording the 'use mask' in the usertree entry.

Change-Id: I9fe7f5045f065d84c126fa307ef6ebe0787296df

Subscribers: mzolotukhin

Reviewed By: ayal

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

Review comments updated accordingly

Change-Id: I22ab0a8a9bac9d49d74baa81a08e1e486f5e75f0

Added a TODO for sortLoadAccesses API

Change-Id: I3c679bf1865422d1b45e17ea28f1992bca660b58

Modified the TODO for sortLoadAccesses API

Change-Id: Ie64a66cb5f9e2a7610438abb0e750c6e090f9565

Review comment update for using OpdNum to insert the mask in respective location

Change-Id: I016d0c1b29874e979efc0205bbf078991f92edce

Fixes '-Wsign-compare warning' in LoopAccessAnalysis.cpp and code rebase

Change-Id: I64b2ea5e68c1d7b6a028f5ef8251c5a97333f89b
llvm-svn: 313771
2017-09-20 17:19:57 +00:00
clang Put target deduced from executable name at the start of argument list 2017-09-20 15:22:27 +00:00
clang-tools-extra [clangd] Put inacessible items to the end of completion list. 2017-09-20 15:09:14 +00:00
compiler-rt [asan] Try to fix windows test by fflush(stderr) 2017-09-20 07:16:08 +00:00
debuginfo-tests Revert r313600 due to bot failures on Green Dragon. 2017-09-19 14:51:37 +00:00
libclc Add native_recip(x) as ((1)/(x)) 2017-09-13 01:40:25 +00:00
libcxx Make libcxx tests work when llvm sources are not present. 2017-09-20 16:01:50 +00:00
libcxxabi Fix ASAN build with older compiler-rt versions. 2017-09-14 22:37:34 +00:00
libunwind Fix a typo in the documentation. NFC. 2017-09-16 20:52:05 +00:00
lld Don't try to compute a value that is known to fail. 2017-09-20 16:42:56 +00:00
lldb Signal polling is supported with pselect (re-land r313704 without a Windows breakage) 2017-09-20 06:56:46 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [SLP] Vectorize jumbled memory loads. 2017-09-20 17:19:57 +00:00
openmp Read blocktime value set by kmp_set_blocktime() before reading from KMP_BLOCKTIME 2017-09-05 15:45:48 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ScheduleOptimizer] Fix and test schedule tree statistics. 2017-09-20 11:53:05 +00:00