llvm-project/llvm
Dinar Temirbulatov 29e86584c6 [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: 319531
2017-12-01 11:10:47 +00:00
..
bindings Update go bindings to use new functions from rL317135. 2017-11-02 10:22:26 +00:00
cmake [cmake] Expose opt-viewer availability 2017-12-01 01:44:26 +00:00
docs docs/GettingStarted.rst: Update the list of release versions and tags 2017-11-30 23:47:30 +00:00
examples
include GlobalISel: Enable the legalization of G_MERGE_VALUES and G_UNMERGE_VALUES 2017-12-01 08:19:10 +00:00
lib [SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops. 2017-12-01 11:10:47 +00:00
projects Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
resources
runtimes [CMake][runtimes] Support monorepo layout with runtimes build 2017-11-27 22:31:11 +00:00
test [SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops. 2017-12-01 11:10:47 +00:00
tools [llvm] Add stripped installation targets 2017-11-30 21:48:26 +00:00
unittests Split TypeTableBuilder into two classes. 2017-11-30 18:39:50 +00:00
utils [lit] Don't enable LSan on Darwin for Apple clang 9.0.0 2017-12-01 10:49:47 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes [MC] Fix regression tests on Windows when git “core.autocrlf” is set to true. 2017-11-17 21:59:43 +00:00
.gitignore
CMakeLists.txt [llvm] Add stripped installation targets 2017-11-30 21:48:26 +00:00
CODE_OWNERS.TXT Update my email addresses, NFC. 2017-10-26 10:16:54 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Update my email addresses, NFC. 2017-10-26 10:16:54 +00:00
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.