llvm-project/llvm
Nirav Dave c5a48c1ee8 [DAG] Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset
As discussed in D34087, rewrite areNonVolatileConsecutiveLoads using
generic checks. Also, propagate missing local handling from there to
BaseIndexOffset checks.

Tests of note:

  * test/CodeGen/X86/build-vector* - Improved.
  * test/CodeGen/BPF/undef.ll - Improved store alignment allows an
    additional store merge

  * test/CodeGen/X86/clear_upper_vector_element_bits.ll - This is a
    case we already do not handle well. Here, the DAG is improved, but
    scheduling causes a code size degradation.

Reviewers: RKSimon, craig.topper, spatel, andreadb, filcab

Subscribers: nemanjai, llvm-commits

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

llvm-svn: 306819
2017-06-30 12:23:41 +00:00
..
bindings [NFC] Remove multiple semicolons 2017-06-28 23:15:16 +00:00
cmake TableGen.cmake: Use DEPFILE for Ninja Generator with CMake>=3.7. 2017-06-21 22:04:07 +00:00
docs Fixed misplaced table border in the docs. 2017-06-30 09:47:17 +00:00
examples [ORC] Re-apply r306166 and r306168 with fix for regression test. 2017-06-23 23:25:28 +00:00
include Revert of r306525: "Canonicalize clamp of float types to minmax" 2017-06-30 10:39:09 +00:00
lib [DAG] Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset 2017-06-30 12:23:41 +00:00
projects
resources
runtimes [CMake][runtimes] Add install target for runtimes builtins 2017-06-02 19:38:11 +00:00
test [DAG] Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset 2017-06-30 12:23:41 +00:00
tools [llvm-readobj] Improve printouts for COFF ARM64 binaries 2017-06-30 07:02:13 +00:00
unittests [DWARF] - Simplify HandleExpectedError implementation in DWARFDebugInfoTest 2017-06-30 10:09:01 +00:00
utils Added Dockerfiles to build clang from sources. 2017-06-30 09:46:45 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [Solaris] replace Solaris.h hack with a set of better hacks 2017-06-22 13:18:46 +00:00
CODE_OWNERS.TXT Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
CREDITS.TXT CREDITS.TXT: Update myself. 2017-06-30 11:59:53 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
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.