llvm-project/llvm
Craig Topper 14ea14ae85 [X86] Add a DAG combine to turn vzmovl+load into vzload if the load isn't volatile. Remove isel patterns for vzmovl+load
We currently have some isel patterns for treating vzmovl+load the same as vzload, but that shrinks the load which we shouldn't do if the load is volatile.

Rather than adding isel checks for volatile. This patch removes the patterns and teachs DAG combine to merge them into vzload when its legal to do so.

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

llvm-svn: 364333
2019-06-25 17:08:26 +00:00
..
benchmarks
bindings [bindings/go] Add debug information accessors 2019-06-24 16:23:17 +00:00
cmake Add llvm-symbolizer to LLVM_TOOLCHAIN_TOOLS (PR40152) 2019-06-25 07:15:41 +00:00
docs [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
examples
include Improve zero-size allocation with safe_malloc, etc. 2019-06-25 15:08:28 +00:00
lib [X86] Add a DAG combine to turn vzmovl+load into vzload if the load isn't volatile. Remove isel patterns for vzmovl+load 2019-06-25 17:08:26 +00:00
projects
resources
runtimes Setup testing target dependencies for default runtimes 2019-06-11 00:25:57 +00:00
test [X86] Add a DAG combine to turn vzmovl+load into vzload if the load isn't volatile. Remove isel patterns for vzmovl+load 2019-06-25 17:08:26 +00:00
tools [llvm-objcopy][llvm-strip] Fix help text typo for --allow-broken-links 2019-06-25 13:14:18 +00:00
unittests GlobalISel: Remove unsigned variant of SrcOp 2019-06-24 16:16:12 +00:00
utils [PowerPC][UpdateTestChecks] powerpc- triple support 2019-06-24 18:00:34 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore gitignore: Ignore Qt Creator project configuration files. NFC 2019-06-12 08:28:31 +00:00
CMakeLists.txt build: extract LLVM distribution target handling 2019-06-14 18:28:57 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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.