LLVM backend for 6502
Go to file
Chandler Carruth c1c37734ad [SROA] The original refactoring inspired by the addrspace patch in
D1764, which in turn set off the other refactorings to make
'getSliceAlign()' a sensible thing.

There are two possible inputs to the required alignment of a memory
transfer intrinsic: the alignment constraints of the source and the
destination. If we are *only* introducing a (potentially new) offset
onto one side of the transfer, we don't need to consider the alignment
constraints of the other side. Use this to simplify the logic feeding
into alignment computation for unsplit transfers.

Also, hoist the clamp of the magical zero alignment for these intrinsics
to the more customary one alignment early. This lets several other
conditions melt away.

No functionality changed. There is a further improvement this exposes
which *will* change functionality, but that's arriving in a separate
patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202232 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-26 05:33:36 +00:00
autoconf
bindings
cmake
docs Exception handling docs: Describe landingpad clauses' meanings in more detail 2014-02-25 23:48:59 +00:00
examples Use DataLayout from the module when easily available. 2014-02-25 23:25:17 +00:00
include Use StringRef in raw_fd_ostream constructor 2014-02-26 03:21:00 +00:00
lib [SROA] The original refactoring inspired by the addrspace patch in 2014-02-26 05:33:36 +00:00
projects
test [SROA] Fix PR18615 with some long overdue simplifications to the bounds 2014-02-26 03:14:14 +00:00
tools Use DataLayout from the module when easily available. 2014-02-25 23:25:17 +00:00
unittests fix crash in SmallDenseMap copy constructor 2014-02-25 23:35:13 +00:00
utils
.arcconfig
.clang-format
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
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.