LLVM backend for 6502
Go to file
Quentin Colombet c34693f6ef [DAGCombiner] Slice a big load in two loads when the element are next to each
other in memory and the target has paired load and performs post-isel loads
combining.

E.g., this optimization will transform something like this:
 a = load i64* addr
 b = trunc i64 a to i32
 c = lshr i64 a, 32
 d = trunc i64 c to i32

into:
 b = load i32* addr1
 d = load i32* addr2
Where addr1 = addr2 +/- sizeof(i32), if the target supports paired load and
performs post-isel loads combining.

One should overload TargetLowering::hasPairedLoad to provide this information.
The default is false.

<rdar://problem/14477220>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192471 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-11 18:01:14 +00:00
autoconf Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
bindings
cmake cmake: don't set LLVM_COMPILER_IS_GCC_COMPATIBLE when using clang-cl 2013-10-07 22:03:23 +00:00
docs Add missing releases. 2013-10-09 17:37:04 +00:00
examples
include [DAGCombiner] Slice a big load in two loads when the element are next to each 2013-10-11 18:01:14 +00:00
lib [DAGCombiner] Slice a big load in two loads when the element are next to each 2013-10-11 18:01:14 +00:00
projects Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
test [DAGCombiner] Slice a big load in two loads when the element are next to each 2013-10-11 18:01:14 +00:00
tools Debug Info: In DIBuilder, the context field of subprogram is updated to use 2013-10-10 18:40:01 +00:00
unittests
utils Fix handling of CHECK-DAG inside of CHECK-LABEL. 2013-10-11 16:48:02 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.