llvm-project/llvm
Dylan McKay 77364be497 [AVR] Fix codegen bug in 16-bit loads
Prior to this patch, the AVR::LDWRdPtr instruction was always lowered to
instructions of this pattern:

    ld  $GPR8, [PTR:XYZ]+
    ld  $GPR8, [PTR]+1

This has a problem; the [PTR] is incremented in-place once, but never
decremented.

Future uses of the same pointer will use the now clobbered value,
leading to the pointer being incorrect by an offset of one.

This patch modifies the expansion code of the LDWRdPtr pseudo
instruction so that the pointer variable is not silently clobbered in
future uses in the same live range.

Patch by Keshav Kini.

llvm-svn: 351544
2019-01-18 11:27:38 +00:00
..
benchmarks
bindings [NewPM][TSan] Reiterate the TSan port 2019-01-16 09:28:01 +00:00
cmake [NFC] Factor out + document build requirements 2019-01-16 22:22:38 +00:00
docs [DOCS] it it => it 2019-01-18 03:56:37 +00:00
examples Python compat - print statement 2019-01-03 14:11:33 +00:00
include [SelectionDAG] Add static getMaxNumOperands function to SDNode. 2019-01-18 10:00:38 +00:00
lib [AVR] Fix codegen bug in 16-bit loads 2019-01-18 11:27:38 +00:00
projects [pstl] Initial integration with LLVM's CMake 2018-12-21 15:59:04 +00:00
resources
runtimes
test [AVR] Fix codegen bug in 16-bit loads 2019-01-18 11:27:38 +00:00
tools [llvm-objdump] - Show aliases in -help. 2019-01-18 10:41:26 +00:00
unittests Move demangling function from llvm-objdump to Demangle library 2019-01-17 15:18:44 +00:00
utils gn build: unbreak mac (and maybe win) after r351258, r351277 2019-01-18 04:09:30 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore Git ignore CLion project configuration files. NFC 2019-01-02 19:58:07 +00:00
CMakeLists.txt Revert r351324 "Build LLVM-C.dll by default on windows and enable in release package" 2019-01-16 12:36:28 +00:00
CODE_OWNERS.TXT [llvm-mca] Move llvm-mca library to llvm/lib/MCA. 2018-12-17 08:08:31 +00:00
CREDITS.TXT
LICENSE.TXT Update year in license files 2019-01-15 15:10:32 +00:00
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Update the list of platforms & archs 2018-12-16 14:47:16 +00:00
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.