LLVM backend for 6502
Go to file
Tim Northover 54ed08e250 Merge r196725 (conflicts on same API as before):
------------------------------------------------------------------------
r196725 | tnorthover | 2013-12-08 15:56:50 +0000 (Sun, 08 Dec 2013) |
19 lines

ARM: fix folding of stack-adjustment (yet again).

When trying to eliminate an "sub sp, sp, #N" instruction by folding
it into an existing push/pop using dummy registers, we need to account
for the fact that this might affect precisely how "fp" gets set in the
prologue.

We were attempting this, but assuming that *whenever* we performed a
fold it would make a difference. This is false, for example, in:
    push {r4, r7, lr}
    add fp, sp, #4
    vpush {d8}
    sub sp, sp, #8

we can fold the "sub" into the "vpush", forming "vpush {d7, d8}".
However, in that case the "add fp" instruction mustn't change, which
we were getting wrong before.

Should fix PR18160.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196769 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-09 09:05:30 +00:00
autoconf Regenerate configure files with 3.4svn changed to 3.4. 2013-11-20 09:55:44 +00:00
bindings Merging r195912: 2013-12-02 19:18:50 +00:00
cmake Revert my CMake patches concerning building with /MT (r194589, r194596) 2013-11-13 20:29:10 +00:00
docs Mention sparc backend improvements. 2013-12-06 20:04:30 +00:00
examples Merging r195092: 2013-11-19 06:35:35 +00:00
include Merging r195494: 2013-12-09 08:35:51 +00:00
lib Merge r196725 (conflicts on same API as before): 2013-12-09 09:05:30 +00:00
projects Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
test Merge r196725 (conflicts on same API as before): 2013-12-09 09:05:30 +00:00
tools Merging r196294: 2013-12-07 09:31:26 +00:00
unittests Merging r195092: 2013-11-19 06:35:35 +00:00
utils Merging r195567: 2013-11-24 05:30:06 +00:00
.arcconfig
.clang-format Add a clang-format file so that the tool can automatically detect the 2013-09-02 07:19:04 +00:00
.gitignore
CMakeLists.txt Merging r195379: 2013-11-25 18:34:26 +00:00
CODE_OWNERS.TXT Merging r196369: 2013-12-07 09:35:00 +00:00
configure Regenerate configure files with 3.4svn changed to 3.4. 2013-11-20 09:55:44 +00:00
CREDITS.TXT Update CREDITS 2013-11-17 11:44:36 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile.common
Makefile.config.in Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Teach the Makefile build system how to handle SOURCES which include 2013-11-14 23:51:29 +00:00
README.txt Revert "Test commit to check e-mail address. Please discard this." 2013-10-04 10:59:13 +00:00

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.