llvm-project/llvm
Matt Arsenault f0a88dbaab LoadStoreVectorizer: Split even sized illegal chains properly
Implement isLegalToVectorizeLoadChain for AMDGPU to avoid
producing private address spaces accesses that will need to be
split up later. This was doing the wrong thing in the case
where the queried chain was an even number of elements.

A possible <4 x i32> store was being split into
store <2 x i32>
store i32
store i32

rather than
store <2 x i32>
store <2 x i32>

when legal.

llvm-svn: 295933
2017-02-23 03:58:53 +00:00
..
bindings Go binding: Add methods for missing PassManagerBuilder C APIs 2017-02-17 05:41:05 +00:00
cmake [Support] Provide linux/magic.h fallback for older kernels 2017-02-22 18:09:15 +00:00
docs Explicitly state the behavior of inbounds with a null pointer. 2017-02-23 00:48:18 +00:00
examples llvm/examples/Kaleidoscope/BuildingAJIT: More fixup corresponding to r295636. 2017-02-20 10:07:41 +00:00
include TargetOptions: Fix not accounting for NoSignedZerosFPMath in == 2017-02-23 03:16:44 +00:00
lib LoadStoreVectorizer: Split even sized illegal chains properly 2017-02-23 03:58:53 +00:00
projects
resources
runtimes
test LoadStoreVectorizer: Split even sized illegal chains properly 2017-02-23 03:58:53 +00:00
tools Don't modify archive members unless really needed. 2017-02-21 20:40:54 +00:00
unittests Test if we can use raw strings on all platforms compiling LLVM. 2017-02-23 01:09:01 +00:00
utils tablegen: Fix android build 2017-02-21 09:19:41 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [Tablegen] Instrumenting table gen DAGGenISelDAG 2017-02-14 18:32:41 +00:00
CODE_OWNERS.TXT Collapse my two entries in CODE_OWNERS.txt 2017-02-15 23:45:21 +00:00
CREDITS.TXT Revert r294228 2017-02-06 19:40:56 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt Test commit: remove a blank line. 2017-02-03 10:56:57 +00:00
RELEASE_TESTERS.TXT Update the release tester for MIPS. NFC. 2017-01-17 11:00:28 +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.