LLVM backend for 6502
Go to file
Hal Finkel 78939b994f Merging r222996:
------------------------------------------------------------------------
r222996 | foad | 2014-12-01 09:42:32 +0000 (Mon, 01 Dec 2014) | 19 lines

[PowerPC] Fix unwind info with dynamic stack realignment

Summary:
PowerPC DWARF unwind info defined CFA as SP + offset even in a function
where the stack had been dynamically realigned. This clearly doesn't
work because the offset from SP to CFA is not a constant. Fix it by
defining CFA as BP instead.

This was causing the AddressSanitizer null_deref test to fail 50% of
the time, depending on whether SP happened to be 32-byte aligned on
entry to a particular function or not.

Reviewers: willschm, uweigand, hfinkel

Reviewed By: hfinkel

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D6410
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@223744 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-09 02:33:41 +00:00
autoconf Bump version to 3.5.1 2014-10-31 19:33:25 +00:00
bindings MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
cmake Merging r217490: 2014-09-11 23:00:09 +00:00
docs Add the big-endian O32 small structures bugfix to the Mips release notes. 2014-12-05 11:06:13 +00:00
examples Merging r213663: 2014-07-23 15:19:01 +00:00
include I did not intend to merge these in. 2014-12-08 09:15:41 +00:00
lib Merging r222996: 2014-12-09 02:33:41 +00:00
projects
test Merging r222996: 2014-12-09 02:33:41 +00:00
tools Merging r214519: 2014-08-04 04:21:04 +00:00
unittests Merging r220360: 2014-12-06 10:34:24 +00:00
utils Merging r223163: 2014-12-03 18:17:15 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Bump version to 3.5.1 2014-10-31 19:33:25 +00:00
CODE_OWNERS.TXT
configure Bump version to 3.5.1 2014-10-31 19:33:25 +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.