llvm-project/llvm
Dylan McKay c4b002bf5a [AVR] Fix displacement overflow for LDDW/STDW
In some cases, the code generator attempts to generate instructions such as:

lddw r24, Y+63

which expands to:

ldd r24, Y+63
ldd r25, Y+64 # Oops! This is actually ld r25, Y in the binary

This commit limits the first offset to 62, and thus the second to 63.
It also updates some asserts in AVRExpandPseudoInsts.cpp, including for
INW and OUTW, which appear to be unused.

Patch by Thomas Backman.

llvm-svn: 314890
2017-10-04 09:51:21 +00:00
..
bindings
cmake Use sched_getaffinity instead of std:🧵:hardware_concurrency. 2017-10-03 16:25:15 +00:00
docs Add a manpage for llvm-dwarfdump. 2017-10-03 23:46:57 +00:00
examples Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
include [X86] Improvement in CodeGen instruction selection for LEAs (re-applying post required revision changes.) 2017-10-04 09:02:10 +00:00
lib [AVR] Fix displacement overflow for LDDW/STDW 2017-10-04 09:51:21 +00:00
projects
resources
runtimes [CMake][runtimes] Use the same configuration for non-target and "default" target 2017-09-08 22:26:50 +00:00
test [AVR] Fix displacement overflow for LDDW/STDW 2017-10-04 09:51:21 +00:00
tools [llvm-cov] Fix showing title when filtering and not outputting to a directory 2017-10-04 08:54:37 +00:00
unittests Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
utils [AsmParser] Add DiagnosticString to AsmOperands in tablegen 2017-10-03 14:34:57 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Revert "[CMake] Remove `CMAKE_.*_OUTPUT_DIRECTORY` (NFCI)" 2017-09-29 19:50:41 +00:00
CODE_OWNERS.TXT [ARC] Add ARC backend. 2017-08-24 15:40:33 +00:00
CREDITS.TXT Add myself to CREDITS.txt 2017-09-18 14:33:39 +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.