Skip to content

Commit

Permalink
[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements…
Browse files Browse the repository at this point in the history
… 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319531 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
dtemirbulatov committed Dec 1, 2017
1 parent 15994ef commit 8caaece
Show file tree
Hide file tree
Showing 4 changed files with 490 additions and 275 deletions.
Loading

0 comments on commit 8caaece

Please sign in to comment.