diff options
author | Dinar Temirbulatov <dtemirbulatov@gmail.com> | 2017-11-14 20:55:08 +0000 |
---|---|---|
committer | Dinar Temirbulatov <dtemirbulatov@gmail.com> | 2017-11-14 20:55:08 +0000 |
commit | 2bd183652053aa6553fb5ae3cfe9424a70251734 (patch) | |
tree | ac71432bc5e939606afb4687548445f55cd3db9f /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 11216623a74e63399ebf707e96858b44a38b4eb7 (diff) | |
download | bcm5719-llvm-2bd183652053aa6553fb5ae3cfe9424a70251734.tar.gz bcm5719-llvm-2bd183652053aa6553fb5ae3cfe9424a70251734.zip |
[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops.
Patch tries to improve vectorization of the following code:
void add1(int * __restrict dst, const int * __restrict src) {
*dst++ = *src++;
*dst++ = *src++ + 1;
*dst++ = *src++ + 2;
*dst++ = *src++ + 3;
}
Allows to vectorize even if the very first operation is not a binary add, but just a load.
Fixed issues related to previous commit.
Reviewers: spatel, mzolotukhin, mkuper, hfinkel, RKSimon, filcab, ABataev
Reviewed By: ABataev, RKSimon
Subscribers: llvm-commits, RKSimon
Differential Revision: https://reviews.llvm.org/D28907
llvm-svn: 318193
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions